我有一个hiveserver2正在运行并编写了一个java程序来从hive查询。
我试过了这个查询
SELECT * FROM table1
其中,'table1'是hive中的表名,它的工作正常并给了我结果。
但是当我试图跑
时SELECT COUNT(*) FROM table1
它引发了异常
Exception in thread "main" java.sql.SQLException: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
我检查了日志并记录了这个
Job init failed : org.apache.hadoop.yarn.exceptions.YarnRuntimeException: java.io.FileNotFoundException: File does not exist: hdfs://vseccoetv04:9000/tmp/hadoop-yarn/staging/anonymous/.staging/job_1453359797695_0017/job.splitmetainfo
at org.apache.hadoop.mapreduce.v2.app.job.impl.JobImpl$InitTransition.createSplits(JobImpl.java:1568)
at org.apache.hadoop.mapreduce.v2.app.job.impl.JobImpl$InitTransition.transition(JobImpl.java:1432)
at org.apache.hadoop.mapreduce.v2.app.job.impl.JobImpl$InitTransition.transition(JobImpl.java:1390)
....
我在很多地方检查过,其他人也得到了'FileNotFoundException',但不是因为这个原因。
有什么方法可以解决这个问题吗?
答案 0 :(得分:0)
好,
我自己想出了问题:)
我之前在hive-site.xml文件中添加了一些属性来检查对事务的支持。我想我可能会在那里添加一些错误的值。现在,我删除了我添加的属性,并重新启动了hive服务。一切正常:D