`
lookqlp
  • 浏览: 346856 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

hcatalog读取hive数据并写入hive

阅读更多

参考
http://www.cloudera.com/content/cloudera/en/documentation/core/latest/topics/cdh_ig_table_access_mapreduce.html
https://github.com/cloudera/hcatalog-examples.git
命令:
for jarfile in `ls /logdata/CDH-5.2.0-1.cdh5.2.0.p0.36/lib/hive/lib/.`; do
       export HADOOP_CLASSPATH="${HADOOP_CLASSPATH}:/logdata/CDH-5.2.0-1.cdh5.2.0.p0.36/lib/hive/lib/$jarfile"
done 
hadoop jar bigdata-mapreduce-0.0.1-SNAPSHOT.jar com.yeahmobi.bigdata.mapreduce.GroupByAge age age_group
异常
14/11/05 10:56:44 INFO Configuration.deprecation: mapred.reduce.tasks.speculative.execution is deprecated. Instead, use mapreduce.reduce.speculative

14/11/05 10:56:44 INFO metastore.HiveMetaStore: 0: Opening raw store with implemenation class:org.apache.hadoop.hive.metastore.ObjectStore

14/11/05 10:56:44 INFO metastore.ObjectStore: ObjectStore, initialize called

14/11/05 10:56:44 INFO DataNucleus.Persistence: Property datanucleus.cache.level2 unknown - will be ignored

14/11/05 10:56:47 INFO metastore.ObjectStore: Setting MetaStore object pin classes with hive.metastore.cache.pinobjtypes="Table,StorageDescriptor,SerDeInfo,Partition,Database,Type,FieldSchema,Order"

14/11/05 10:56:47 INFO metastore.MetaStoreDirectSql: MySQL check failed, assuming we are not on mysql: Lexical error at line 1, column 5.  Encountered: "@" (64), after : "".

14/11/05 10:56:48 INFO metastore.ObjectStore: Initialized ObjectStore

14/11/05 10:56:48 WARN metastore.ObjectStore: Version information not found in metastore. hive.metastore.schema.verification is not enabled so recording the schema version 0.12.0

14/11/05 10:56:49 INFO metastore.HiveMetaStore: 0: get_databases: NonExistentDatabaseUsedForHealthCheck

14/11/05 10:56:49 INFO HiveMetaStore.audit: ugi=root    ip=unknown-ip-addr      cmd=get_databases: NonExistentDatabaseUsedForHealthCheck

14/11/05 10:56:49 INFO metastore.HiveMetaStore: 0: get_table : db=default tbl=groups

14/11/05 10:56:49 INFO HiveMetaStore.audit: ugi=root    ip=unknown-ip-addr      cmd=get_table : db=default tbl=groups

14/11/05 10:56:49 INFO DataNucleus.Datastore: The class "org.apache.hadoop.hive.metastore.model.MFieldSchema" is tagged as "embedded-only" so does not have its own datastore table.

14/11/05 10:56:49 INFO DataNucleus.Datastore: The class "org.apache.hadoop.hive.metastore.model.MOrder" is tagged as "embedded-only" so does not have its own datastore table.

Exception in thread "main" java.io.IOException: NoSuchObjectException(message:default.groups table not found)

        at org.apache.hcatalog.mapreduce.HCatInputFormat.setInput(HCatInputFormat.java:88)

        at org.apache.hcatalog.mapreduce.HCatInputFormat.setInput(HCatInputFormat.java:55)

        at org.apache.hcatalog.mapreduce.HCatInputFormat.setInput(HCatInputFormat.java:47)

        at com.cloudera.test.UseHCat.run(UseHCat.java:81)

        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)

        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)

        at com.cloudera.test.UseHCat.main(UseHCat.java:108)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

        at java.lang.reflect.Method.invoke(Method.java:606)

        at org.apache.hadoop.util.RunJar.main(RunJar.java:212)

Caused by: NoSuchObjectException(message:default.groups table not found)

        at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.get_table(HiveMetaStore.java:1377)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

        at java.lang.reflect.Method.invoke(Method.java:606)

        at org.apache.hadoop.hive.metastore.RetryingHMSHandler.invoke(RetryingHMSHandler.java:105)

        at com.sun.proxy.$Proxy12.get_table(Unknown Source)

        at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.getTable(HiveMetaStoreClient.java:898)

        at org.apache.hcatalog.common.HCatUtil.getTable(HCatUtil.java:194)

        at org.apache.hcatalog.mapreduce.InitializeInput.getInputJobInfo(InitializeInput.java:105)

        at org.apache.hcatalog.mapreduce.InitializeInput.setInput(InitializeInput.java:86)

        at org.apache.hcatalog.mapreduce.HCatInputFormat.setInput(HCatInputFormat.java:86)

        ... 11 more

14/11/05 10:56:51 INFO metastore.HiveMetaStore: 1: Shutting down the object store...

14/11/05 10:56:51 INFO HiveMetaStore.audit: ugi=root    ip=unknown-ip-addr      cmd=Shutting down the object store...

14/11/05 10:56:51 INFO metastore.HiveMetaStore: 1: Metastore shutdown complete.

14/11/05 10:56:51 INFO HiveMetaStore.audit: ugi=root    ip=unknown-ip-addr      cmd=Metastore shutdown complete.

 

找不到表,将hive client配置xml加入source里,解决。


2014-11-25 06:59:33,953 INFO [main] org.apache.hadoop.service.AbstractService: Service org.apache.hadoop.mapreduce.v2.app.MRAppMaster failed in state INITED; cause: org.apache.hadoop.yarn.exceptions.YarnRuntimeException: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.hcatalog.mapreduce.HCatOutputFormat not found
org.apache.hadoop.yarn.exceptions.YarnRuntimeException: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.hcatalog.mapreduce.HCatOutputFormat not found
at org.apache.hadoop.mapreduce.v2.app.MRAppMaster.createOutputCommitter(MRAppMaster.java:467)
at org.apache.hadoop.mapreduce.v2.app.MRAppMaster.serviceInit(MRAppMaster.java:368)
at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)
at org.apache.hadoop.mapreduce.v2.app.MRAppMaster$1.run(MRAppMaster.java:1477)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1614)
at org.apache.hadoop.mapreduce.v2.app.MRAppMaster.initAndStartAppMaster(MRAppMaster.java:1474)
at org.apache.hadoop.mapreduce.v2.app.MRAppMaster.main(MRAppMaster.java:1407)
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: Class org.apache.hcatalog.mapreduce.HCatOutputFormat not found
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2047)
at org.apache.hadoop.mapreduce.task.JobContextImpl.getOutputFormatClass(JobContextImpl.java:232)
at org.apache.hadoop.mapreduce.v2.app.MRAppMaster.createOutputCommitter(MRAppMaster.java:463)
... 8 more
Caused by: java.lang.ClassNotFoundException: Class org.apache.hcatalog.mapreduce.HCatOutputFormat not found
at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:1953)
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2045)
... 10 more
hive相关类找不到,mr是通过ToolRunner执行,使用-libjars参数增加hive相关包,解决。
hadoop jar bigdata-mapreduce-0.0.1-SNAPSHOT.jar com.yeahmobi.bigdata.mapreduce.GroupByAge -libjars /logdata/CDH-5.2.0-1.cdh5.2.0.p0.36/jars/hive-hcatalog-core-0.13.1-cdh5.2.0.jar,/logdata/CDH-5.2.0-1.cdh5.2.0.p0.36/jars/hive-exec-0.13.1-cdh5.2.0.jar,/logdata/CDH-5.2.0-1.cdh5.2.0.p0.36/jars/hive-metastore-0.13.1-cdh5.2.0.jar age age_group

如果字段比较多,感觉java代码停麻烦的,不如直接load。

 

分享到:
评论
2 楼 lookqlp 2015-05-29  
super_a 写道
你好!找不到表这个问题是如何解决的,可以描述清楚点吗?我刚也遇到此问题,但是没找到原因,通过hive命令行是能找到并且能查询到数据的

把xml配置文件放在你工程的classpath里。
1 楼 super_a 2015-05-27  
你好!找不到表这个问题是如何解决的,可以描述清楚点吗?我刚也遇到此问题,但是没找到原因,通过hive命令行是能找到并且能查询到数据的

相关推荐

    项目实战——Spark将Hive表的数据写入ElasticSearch(Java版本)

    Hive提供了丰富的接口供外部应用访问,包括Hive JDBC和Hive SerDe(Serializer/Deserializer),Java程序可以利用这些接口读取Hive表中的数据。 2. **Spark计算框架**: Spark是大数据处理的开源框架,以其高效、...

    从任意hive单表读取并计算数据写入任意mysql单表的hive工具

    标题中的“从任意hive单表读取并计算数据写入任意mysql单表的hive工具”指的是一款专门用于数据迁移的工具,它能够帮助用户从Hive数据仓库中提取数据,进行必要的计算处理,然后将结果存储到MySQL数据库中。...

    在python中使用pyspark读写Hive数据操作

    - `saveAsTable()`: DataFrame提供了`saveAsTable()`方法,将DataFrame数据写入Hive表。 - `format()`: 指定数据写入的格式,通常在写入Hive时设置为`"hive"`。 - `mode()`: 指定写入模式,如`"overwrite"`(覆盖...

    简单的spark 读写hive以及mysql

    首先,`SparkToHive.java` 和 `SparkHive.java` 文件涉及的是 Spark 读取和写入 Hive 数据。Spark 支持通过 HiveContext(现在称为 HiveSession)连接到 Hive,这样可以使用 SQL 查询 Hive 表并将其结果转换为 Spark...

    datax数据从hive导入mysql数据缺失解决

    Hive 通常用于存储海量数据并进行批处理分析,而 MySQL 则用于存储结构化数据并提供快速查询服务。为了实现两者之间的数据交换,DataX 作为一种开源的数据同步工具被广泛应用。 #### 问题描述 在使用 DataX 将数据...

    hive2.1.1中orc格式读取报数组越界错误解决方法

    在Hive 2.1.1版本中,ORC(Optimized Row ...总之,当Hive在读取ORC格式数据时出现“数组越界”错误,可以考虑更新相关的jar包,特别是执行引擎和ORC处理库。同时,保持集群的维护和更新是避免这类问题的有效策略。

    pyflink实现hive关联mysql

    pyflink将mysql数据直接插入hive,由此可以延伸出pyflink实现hive关联mysql

    spark或mr引擎插入的数据,hive表查询数据为0

    问题的根本原因在于数据写入过程中生成了一个额外的子目录`HIVE_UNION_SUBDIR_1`(或类似的命名),这是由于Tez引擎在执行`UNION ALL`操作时的一个特性所致。当使用`UNION ALL`操作时,Tez引擎会在原始分区目录下...

    Scala代码积累之spark streaming kafka 数据存入到hive源码实例

    Scala代码积累之spark streaming kafka 数据存入到hive源码实例,Scala代码积累之spark streaming kafka 数据存入到hive源码实例。

    python 利用pyhive 导出excel

    python 利用pyhive 连接hiveserver2,系统linux 系统,通过pd 导出excel

    spark操作hive表源码

    最后,这些逻辑被转化为Hive的Task,由Spark的Executor节点执行,将数据写入Hive的存储层,或者从存储层读出数据。 在源码层面,`org.apache.spark.sql.hive`包下包含了许多与Hive相关的类和接口,如`...

    datax支持读取parquet格式文件,支持写入parquet格式文件,修复读取orc读取数据丢失问题

    新增的对Parquet格式的读取和写入支持意味着DataX现在可以更好地融入大数据工作流程,将数据高效地从一个Parquet文件系统迁移到另一个,或者从其他数据源导入到Parquet,为数据分析和处理提供便利。 其次,提到的...

    hive关联MongoDB

    工作场景中,我们往往需要从Hive中读取数据写入MongoDB,或反之,这就涉及到Hive和MongoDB之间的关联操作。 首先,要实现Hive与MongoDB的关联,需要借助于相应的jar包,这些jar包能够帮助Hive访问MongoDB中的数据。...

    建立Hive和Hbase的映射关系,通过Spark将Hive表中数据导入ClickHouse

    2. **读取Hive表**:使用Spark SQL的`spark.read.format("hive").load()`语句加载Hive表,这将返回一个DataFrame。 3. **处理和转换数据**:根据需求,可能需要对DataFrame进行一系列操作,如数据清洗、转换、聚合...

    java根据excel生成 hive建表语句

    Java作为企业级应用开发的主要语言,经常被用来处理与数据相关的任务,包括从Excel文件读取数据并生成Hive建表语句。下面我们将详细探讨如何使用Java和Apache POI库来实现这一功能。 首先,Apache POI是Java中处理...

    kafka+flume 实时采集oracle数据到hive中.docx

    最后,使用Hive从HDFS中读取数据,并将其存储到Hive表中。 使用Kafka和Flume可以实现实时采集Oracle数据到Hive中的需求。Kafka能够实时地从Oracle数据库中提取日志信息,而Flume能够实时地将数据写入到HDFS中。最后...

    实际开发应用实例,包含读取hive,MySQL,文件三种方式的数据交互

    包含读取hive,MySQL,文件三种方式的数据交互的udf函数,适用初高及数据研发人员在开发udf函数是作为参考,包括文件写入及读取方式,MySQL,hive等数据库连接可以直接将获取数据转为对象,便于后期开发达到复用目的...

    flink-connector-hive-2.12-1.13.1.jar

    flink-connector-hive_2.12-1.13.1.jar 是 Apache Flink 的一个 Hive 连接器 JAR 包,用于在 Flink 中与 Apache Hive 集成。这里面的数字 2.12 和 1.13.1 分别表示了这个 JAR 包所依赖的 Scala 和...数据读取和写入:Fl

    8、NIFI综合应用场景-NiFi监控MySQL binlog进行实时同步到hive

    5. **数据写入Hive**:最后,使用`HiveMetastoreClientService`服务和`PutHiveQL`处理器将转换后的数据写入Hive表。由于Hive的写入效率问题,可以考虑先将数据写入HDFS,然后使用批处理任务(如Hive的`INSERT ...

Global site tag (gtag.js) - Google Analytics