Java Json配置单元查询错误

Java Json配置单元查询错误,java,json,apache,hadoop,hive,Java,Json,Apache,Hadoop,Hive,我正在使用TwitterCloudera示例创建一个表,虽然我已经成功创建了表并获取了数据,但我遇到了一个问题 我可以从tweets执行select*并返回数据,但当我更深入地进行计数(*)时,我收到了一个错误 以下是创建的表: 加罐 /cdh twitter示例/hive-serdes/target/hive-serdes-1.0-SNAPSHOT.jar; 创建外部表tweets(id BIGINT,在字符串处创建, 源字符串,首选布尔值,转发计数INT, 转发的\u状态结构< 文本:字符串

我正在使用TwitterCloudera示例创建一个表,虽然我已经成功创建了表并获取了数据,但我遇到了一个问题

我可以从tweets执行
select*
并返回数据,但当我更深入地进行计数(*)时,我收到了一个错误

以下是创建的表:

加罐 /cdh twitter示例/hive-serdes/target/hive-serdes-1.0-SNAPSHOT.jar; 创建外部表tweets(id BIGINT,在字符串处创建,
源字符串,首选布尔值,转发计数INT,
转发的\u状态结构< 文本:字符串, 用户:结构>,实体结构< URL:ARRAY>,, 用户提到:数组>, 哈希标记:数组>>,文本字符串,用户结构< 屏幕名称:字符串, 名称:STRING, 朋友数:INT, 追随者人数:INT, 状态计数:INT, 已验证:布尔, utc_偏移量:INT, 时区:字符串>,在“回复到屏幕”行格式SERDE'com.cloudera.hive.SERDE.JSONSerDe'位置 “/user/flume/tweets”

以下是错误和堆栈跟踪:

蜂巢>从推文中选择计数(*);MapReduce作业总数=1 编译时确定的reduce任务数:1 In 更改减速器平均负载的顺序(以字节为单位):设置 hive.exec.reducers.bytes.per.reducer=为了限制 最大还原数:设置hive.exec.reducers.max=In 设置恒定数量减速器的顺序:设置 mapred.reduce.tasks=Starting Job=Job_1402410026954_0004, 跟踪URL= Kill命令=/usr/lib/hadoop/bin/hadoop作业-Kill 作业\u 1402410026954 \u 0004阶段1的Hadoop作业信息:数量 制图者:1;减速器数量:1 2014-06-10 13:07:28078一级图 =0%,减少=0%2014-06-10 13:07:39983第一阶段地图=100%,减少=0%2014-06-10 13:07:41071第一阶段地图=0%,减少=0%2014-06-10 13:08:18527第一阶段地图=100%,减少=100%结束作业= 作业_1402410026954 _0004在作业期间出错,获取 调试信息。。。正在检查任务ID: 来自作业的任务\u 1402410026954\u 0004\u百万(或更多) 工作编号:1402410026954

失败次数最多的任务(4): -----任务ID:Task_1402410026954_0004_m_000000

tipid=task_1402410026954_0004_m_000000 -----此任务的诊断消息:错误:java.lang.RuntimeException:在处配置对象时出错 org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:109) 在 org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:75) 在 org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133) 位于org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:426) 位于org.apache.hadoop.mapred.MapTask.run(MapTask.java:342) org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168)位于 java.security.AccessController.doPrivileged(本机方法)位于 javax.security.auth.Subject.doAs(Subject.java:415)位于 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548) 在org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163)上 by:java.lang.reflect.InvocationTargetException位于 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)位于 invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 位于java.lang.reflect.Method.invoke(Method.java:606) org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:106) ... 9更多原因:java.lang.RuntimeException:中的错误 在上配置对象 org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:109) 在 org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:75) 在 org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133) 位于org.apache.hadoop.mapred.MapRunner.configure(MapRunner.java:38) ... 14更多原因:java.lang.reflect.InvocationTargetException 位于的sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 位于java.lang.reflect.Method.invoke(Method.java:606) org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:106) ... 17更多原因:java.lang.RuntimeException:Map运算符 初始化在失败 org.apache.hadoop.hive.ql.exec.mr.ExecMapper.configure(ExecMapper.java:134) ... 22多宗由以下原因引起: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.ClassNotFoundException:类 在上找不到com.cloudera.hive.serde.JSONSerDe org.apache.hadoop.hive.ql.exec.MapOperator.getConvertedOI(MapOperator.java:314) 在 org.apache.hadoop.hive.ql.exec.MapOperator.setChildren(MapOperator.java:333) 在 org.apache.hadoop.hive.ql.exec.mr.ExecMapper.configure(ExecMapper.java:103) ... 22更多原因:java.lang.ClassNotFoundException:Class 在上找不到com.cloudera.hive.serde.JSONSerDe org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:1801) 在 org.apache.hadoop.hive.ql.exec.MapOperator.getConvertedOI(MapOperator.java:284) ... 还有24个

失败:执行错误,从返回代码2 org.apache.hadoop.hive.ql.exec.mr.MapRedTask MapReduce作业已启动: 作业0:映射:1减少:1 HDFS读取:0 HDFS写入:0失败总数 MapReduce花费的CPU时间:0毫秒


有什么想法吗?

将所需的库复制到hadoop lib文件夹中也可以解决问题。

您正在运行哪个CDH版本?您好,我正在使用CDH 5尝试将hive serdes jar复制到
/usr/lib/hive/lib
中。我已经复制了,重新启动了hive服务,但错误仍然存在,下面是它的样子