hive遇到的问题以及解决办法

hive java.lang.ClassNotFoundException: Class org.apache.hive.hcatalog.data.JsonSerDe not found

hadoop    | Error: java.lang.RuntimeException: Error in configuring object
hadoop    | 	at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:113)
hadoop    | 	at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:79)
hadoop    | 	at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:137)
hadoop    | 	at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:455)
hadoop    | 	at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343)
hadoop    | 	at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:177)
hadoop    | 	at java.security.AccessController.doPrivileged(Native Method)
hadoop    | 	at javax.security.auth.Subject.doAs(Subject.java:422)
hadoop    | 	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1886)
hadoop    | 	at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:171)
hadoop    | Caused by: java.lang.reflect.InvocationTargetException
hadoop    | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
hadoop    | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
hadoop    | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
hadoop    | 	at java.lang.reflect.Method.invoke(Method.java:498)
hadoop    | 	at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:110)
hadoop    | 	... 9 more
hadoop    | Caused by: java.lang.RuntimeException: Error in configuring object
hadoop    | 	at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:113)
hadoop    | 	at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:79)
hadoop    | 	at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:137)
hadoop    | 	at org.apache.hadoop.mapred.MapRunner.configure(MapRunner.java:38)
hadoop    | 	... 14 more
hadoop    | Caused by: java.lang.reflect.InvocationTargetException
hadoop    | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
hadoop    | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
hadoop    | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
hadoop    | 	at java.lang.reflect.Method.invoke(Method.java:498)
hadoop    | 	at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:110)
hadoop    | 	... 17 more
hadoop    | Caused by: java.lang.RuntimeException: Map operator initialization failed
hadoop    | 	at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.configure(ExecMapper.java:137)
hadoop    | 	... 22 more
hadoop    | Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.ClassNotFoundException: Class org.apache.hive.hcatalog.data.JsonSerDe not found
hadoop    | 	at org.apache.hadoop.hive.ql.exec.MapOperator.getConvertedOI(MapOperator.java:328)
hadoop    | 	at org.apache.hadoop.hive.ql.exec.MapOperator.setChildren(MapOperator.java:420)
hadoop    | 	at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.configure(ExecMapper.java:106)
hadoop    | 	... 22 more
hadoop    | Caused by: java.lang.ClassNotFoundException: Class org.apache.hive.hcatalog.data.JsonSerDe not found
hadoop    | 	at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:2299)
hadoop    | 	at org.apache.hadoop.hive.ql.plan.PartitionDesc.getDeserializer(PartitionDesc.java:177)
hadoop    | 	at org.apache.hadoop.hive.ql.exec.MapOperator.getConvertedOI(MapOperator.java:295)
hadoop    | 	... 24 more
hadoop    |
hadoop    |
hadoop    | FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
hadoop    | MapReduce Jobs Launched:
hadoop    | Stage-Stage-1: Map: 1  Reduce: 1   HDFS Read: 0 HDFS Write: 0 FAIL
hadoop    | Total MapReduce CPU Time Spent: 0 msec

解决办法:

添加hive-hcatalog-core包

ADD JAR /usr/local/hive/lib/hive-hcatalog-core-2.3.2.jar;

原文地址:https://www.cnblogs.com/lfm601508022/p/9188819.html

时间: 2024-08-30 04:08:34

hive遇到的问题以及解决办法的相关文章

hive命令查询数据不显示表头解决办法

在hive命令行中查询数据如下: 表头未显示出来 解决办法: 修改hive安装包conf/hive-site.xml配置文件: <property> <name>hive.cli.print.header</name> <value>true</value> <description>Whether to print the names of the columns in query output.</description&g

HIVE-执行distribute by时报错的解决过程---之如何分析hive执行的错误并解决

在执行一条HIVE语句的时候报了以下错误,重新检查了所有步骤,重启所有服务,发现没有问题. 但发现一个有趣的事情 1,select sno,sname,sex,sage,sdept from student可以正常执行 2,sno,sname,sex,sage,sdept from student distribute by(sname) 不可以执行报错 在/tmp/用户名下查看系统hive.log,发现信息并不多.网上有其他方法可以查看更多日志,但太麻烦,速度很慢所以就没尝试. select

hadoop常见错误及解决办法整理

1:Shuffle Error: Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-out Answer:程序里面需要打开多个文件,进行分析,系统一般默认数量是1024,(用ulimit -a可以看到)对于正常使用是够了,但是对于程序来讲,就太少了.修改办法:修改2个文件.       /etc/security/limits.confvi /etc/security/limits.conf加上:* soft nofile 102400* hard nofi

如何用 Android Studio 导入开源项目以及常见错误的解决办法

声明:这篇文章完全来自这篇文章,感谢大神的相助.这篇文章纯粹是为了备份. 本篇以Github上最热门的MaterialDesign库,MaterialDesignLibrary来介绍怎样使用Android Sudio导入开源项目的,如果你和我一样刚刚从Eclipse转到AS,那本篇文章非常适合你. 如果不引入任何第三方库,不做自动化分渠道打包等操作,那可以在完全不了解Gradle的情况下进行Android项目的开发.但如果要想导入Github上的热门项目,必须首先熟悉Gradle. 1. Gra

phpstudy无法访问主页,提示You don&#39;t have permission to access / on this server解决办法

1.输入localhost提示:You don't have permission to access / on this server. 新版phpStudy为了安全,取消Apache和nginx列出目录内容. phpStudy如何禁止或允许站点目录列表 请使用『其他选项菜单』-『phpStudy设置』-『允许目录列表』,打上对勾表示允许目录列表,去掉对勾表示禁止目录列表. 2.配置多域名的虚拟主机总是失败,提示You don't have permission to access / on

MySQL 警告WARN: Establishing SSL connection without server&#39;s identity verification is not recommended.解决办法

Success loading Mysql Driver!Mon Apr 04 15:43:00 CST 2016 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by d

mp4网页播放代码,有声音无图像的解决办法~

mp4网页播放代码,有声音无图像的解决办法~ 关于网页播放mp4格式的视频,找了一些插件,这里推荐一下video.js 官方网址:http://www.videojs.com/ github :https://github.com/videojs/video.js/ demo:http://www.videojs.com/downloads/video-js-4.12.5.zip 使用方法: ①引入文件:指派flash播放的swf文件 <link href="//example.com/p

Linux环境下启动MySQL数据库出现找不到mysqld.sock的解决办法!

问题: 在普通用户权限下运行:mysql -u root -p,回车之后如果会出现如下错误:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) 此错误的意思就是没有找到mysqld.sock文件. 解决办法: 首先进入超级用户root权限  sudo -i 或者su - root 切换到默认目录 cd /var/lib/mysql  下查看

方法中的函数会掩盖this,解决办法!

要知道在javascript中this是种很神奇的东西,但是有时候也很淘气: 如下: <script> var obj = { name: 'tqt', friends: ['shangs', 'lisi'], sayHello: function() { this.friends.forEach(function(friend){ console.log(this.name + ' say hello to ' + friend); }); }, } obj.sayHello(); //sa