2 u013384990 u013384990 于 2014.11.18 13:16 提问

hive执行select报错,求大神指导 5C

hive> select * from user;
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.mapred.JobConf.unset(Ljava/lang/String;)V
at org.apache.hadoop.hive.ql.io.HiveInputFormat.pushFilters(HiveInputFormat.java:432)
at org.apache.hadoop.hive.ql.exec.FetchTask.initialize(FetchTask.java:76)
at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:443)
at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:303)
at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1067)

12个回答

woshi_ziyu
woshi_ziyu   Rxr 2014.11.18 14:35

在Java项目进行增量更新的时候经常会出现java.lang.NoSuchMethodError的问题,究其原因有很多:
1、在引包是引用了不匹配的包版本
2、开发环境和运行环境的不一致

java.lang.NoSuchMethodError 调试和解决方法

linshizhuce369
linshizhuce369   2018.01.17 14:58

可能是JAR包的位置没有设置正确,找不到LIB包

shijing266
shijing266   2014.11.18 13:18

找不到这个方法 unset

去看下jar包里面有没有这个方法。特别是参数

sky_walker85
sky_walker85   Rxr 2014.11.18 16:37

这个问题应该是hive和hadoop版本不一致的问题,你hive和hadoop的版本分别为多少

save4me
save4me   Ds   Rxr 2014.11.18 21:10

hive的版本太高,hadoop的版本较低。 hadoop中没有对应的方法。降低hive的版本

sky_walker85
sky_walker85 我觉得是hadoop版本过高,hive版本过低,而不是你说的这种情况
3 年多之前 回复
HOUWEI0308
HOUWEI0308   2014.11.19 13:47

这个问题应该是hive和hadoop版本不一致的问题

qq_35230271
qq_35230271   2017.12.05 22:06

hive的版本太高,hadoop的版本较低。 hadoop中没有对应的方法。降低hive的版本

wm199706
wm199706   2017.12.09 17:36

hive的版本太高,hadoop的版本较低

lengyuangulang
lengyuangulang   2017.12.21 14:19

版本不一致很容易出问题

cjfplm
cjfplm   2018.01.13 14:13

版本不一致的问题吧,降低一下hive的版本

共12条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
hiveshell不能执行select语句问题
最近碰到一个很玄学的问题,就是我的CDH集群中部署的hive,在hue上可以执行hive查询语句,但是到hiveshell中不能执行!废话不多说直接看报错图吧 猛的一看以为缺啥jar包,但是想想不应该啊,我用cludera CDH部署的,然后带着这个问题去问度娘,度娘告诉我说不hive版本与hadoop版本不一致,我当时是崩溃的,不应该啊,我cdh、 部署不存在这个问题的。然后各种求教
hive可以执行select * from table;“ 却无法执行"select count(*) from table;"
出现这种情况是因为执行"select * from table;"并不需要启动mapreduce任务。而执行"select count(*) from table;"需要启动mapreduce任务。解决方法看执行过程的错误信息,我得到的信息是当前用户对于hdfs文件系统的/user文件夹没有写权限,只要开放权限,就可以解决问题。
hive count表提交mapreduce任务报错。
今天使用hive时发现用select * 查询单表,查询正常。 使用select 字段名 ,select count(*) ,及关联表查询时发生如下异常错误: Caused by: java.net.URISyntaxException: Illegal character in scheme name at index 0:      file:///service/cdh/hive/lib
时间不同步问题导致hive 只能select* 不能select count(*)select 某个字段 ,是因
时间不同步问题导致hive 只能select* 不能select count(*)select 某个字段 ,是因为select *不调用mr select单个字段或者count(*)调用mr 时间不同步问题导致hive 只能select* 不能select count(*)select 某个字段 ,是因为select *不调用mr select单个字段或者count(*)调用mr
hive count(*)问题处理
现象:在Hive 中执行select语句,在生产环境正常,而测试环境select count(*) ,并且测试环境中直接非聚合select  语句也正常 处理:在控制错误非常简单,直接返回2错误代码。到yarn 资源管理器中查看,好像资源不足的原因 。开始想到hive 参数,对生产环境和测试环境的hive 配置文件进行对比,没有发现异常。接着考虑的yarn 资源分配的问题,查看yarn 资源配置
Hive调用MapReduce任务失败
1. Hive简介Hive(蜂巢)Apache Hadoop生态圈的构成之一,其主要功能是基于Hadoop提供MapReduce的类SQL查询。Hive的语法规则和Mysql中SQL的语法规则极为相似,有Mysql使用经验的同学都能轻松上手。 Hive的执行分为本地模式和集群模式。本地模式执行简单的Hive SQL,不需要启动MapReduce程序,如-- 本地模式 select col_name
大神指导的简历
写一周内到岗,或者 "目前在职期望新工作" 期望薪资待遇一定要写, 我们公司招人的时候 面议的不约的,面议的意思是不确定自己的需要,对自己定位不明确啥的, 别用163邮箱,用foxmail 或者hotmail之类的英文的
Hive分区表count(*)不起mapreduce的真相
问题背景: 在对Hive求count(*)时,发现有些表会启mapreduce计算、返回 结果,比较耗时,有的表1秒之内返回结果 刚开始以为刚刚执行过一次count()后会对结果进行缓存,不用再去跑mapreduce,但经进一步实验发现大多数表每次执行count()操作都会跑mapreduce,于是猜测的结论不成立。 后在必应查找原因,大部分的结果都指向了:‘hive从1.0开始采用Fetch
大数据踩过的坑——Hive union
我在使用Hive SQL时,一直以关系型数据库SQL的语法写的Hive SQL。当多表union同时需要去重的时候,我是用了如下SQL:    select a.col1,a.col2,a.col3 from table_name_1 a    union     select b.col1,b.col2,b.col3 from table_name_2 b在运行时报错,错误信息为:Error w...
CDH中Hive使用函数报错
1.切换HDFS用户 sudo su hdfs 2.添加hive-contrib.jar 感谢分享: http://blog.itpub.net/25854343/viewspace-1415529/ 解决:add jar /opt/cloudera/parcels/CDH/lib/hive/lib/hive-contrib-1.1.0-cdh5.10.0.jar; 报错:FAIL