hive查询json错误

bis0qfac  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(375)

我正在使用twittercloudera示例创建一个表,虽然我已经成功地创建了表并获取了数据,但是我遇到了一个问题。
我会表演 select * from tweets; 返回了数据,但当我像一个 count(*) 我收到一个错误。
以下是创建的表:
添加jar/cdh-twitter-example/hive-serdes/target/hive-serdes-1.0-snapshot.jar;创建外部表tweets(id bigint,created \u at string,
源字符串,首选布尔值,转发计数int,
转发的状态结构text:string, user:struct>,实体结构urls:array>,用户_mentions:array>, hashtags:array>>,文本字符串,用户结构<screen_name:string, name:string,朋友_count:int,追随者_count:int,状态_count:int, verified:boolean,协调世界时_offset:int,时间_zone:string>,行格式serde'com.cloudera.hive.serde.jsonserde'location'/user/flume/tweets';
以下是错误和堆栈跟踪:
Hive>从tweets中选择count(*);total mapreduce jobs=1启动作业1(共1个)编译时确定的reduce任务数:1为了更改reducer的平均负载(以字节为单位):set hive.exec.reducers.bytes.per.reducer=为了限制reducer的最大数量:set hive.exec.reducers.max=为了设置常量reducer:setmapred.reduce.tasks=starting job=job\u 1402410026954\u 0004,跟踪url=http://bigdatalite.localdomain:8088/proxy/application\u 1402410026954\u 0004/kill command=/usr/lib/hadoop/bin/hadoop job-kill job\u 1402410026954\u 0004 stage-1的hadoop作业信息:Map程序数:1;减速机数量:1 2014-06-10 13:07:28078第1阶段map=0%,reduce=0%2014-06-10 13:07:39983第1阶段map=100%,reduce=0%2014-06-10 13:07:41071第1阶段map=0%,reduce=0%2014-06-10 13:08:18527第1阶段map=100%,reduce=100%作业结束=job_1402410026954_0004作业期间出错,获取调试信息。。。正在检查任务id:来自作业\u 1402410026954 \u 0004的任务\u 1402410026954 \u m \u000000(及更多)
失败次数最多的任务(4):----任务id:task\u 1402410026954\u 0004\u m\u000000
tipid=task\u 1402410026954\u 0004\u m\u000000-----此任务的诊断消息:错误: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(主题。java:415)在org.apache.hadoop.security.usergroupinformation.doas(usergroupinformation。java:1548)在org.apache.hadoop.mapred.yarnchild.main(yarnchild。java:163)原因:sun.reflect.nativemethodaccessorimpl.invoke0(本机方法)处的java.lang.reflect.invocationtargetexceptionsun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl。java:57)在sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl。java:43)在java.lang.reflect.method.invoke(方法。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其他原因:sun.reflect.nativemethodaccessorimpl.invoke0(本机方法)处的java.lang.reflect.invocationtargetexception at sun.reflect.nativemethodaccessorimpl.invoke(本机方法)at sun.reflect.nativemethodaccessorimpl.invoke(本机方法)。java:57)在sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl。java:43)在java.lang.reflect.method.invoke(方法。java:606) 在org.apache.hadoop.util.reflectionutils.setjobconf(reflectionutils。java:106) ... 17更多原因:java.lang.runtimeexception:map operator initialization failed at org.apache.hadoop.hive.ql.exec.mr.execmapper.configure(execmapper)。java:134) ... 22更多原因:org.apache.hadoop.hive.ql.metadata.hiveexception:java.lang.classnotfoundexception:class 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(配置)中找到。java:1801)在org.apache.hadoop.hive.ql.exec.mapoperator.getconvertedoi(mapoperator。java:284) ... 24个以上
失败:执行错误,返回代码2 from org.apache.hadoop.hive.ql.exec.mr.mapredtask mapreduce作业已启动:作业0:map:1 reduce:1 hdfs read:0 hdfs write:0失败花费的mapreduce cpu总时间:0毫秒
有什么想法吗?

6tdlim6h

6tdlim6h1#

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

相关问题