job.split 元信息的 Hive Select Count(*) filenotfoundexception

Posted

技术标签:

【中文标题】job.split 元信息的 Hive Select Count(*) filenotfoundexception【英文标题】:Hive Select Count(*) filenotfound exception for job.splitmetainfo 【发布时间】:2016-01-23 06:16:59 【问题描述】:

我有一个 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”,但不是因为这个原因。

有没有办法解决这个问题?

【问题讨论】:

【参考方案1】:

好的,

我自己发现了问题:)

我之前在 hive-site.xml 文件中添加了一些属性来检查对事务的支持。我想我可能在那里添加了一些错误的值。现在,我已经删除了我添加的属性,并重新启动了配置单元服务。一切正常:D

【讨论】:

以上是关于job.split 元信息的 Hive Select Count(*) filenotfoundexception的主要内容,如果未能解决你的问题,请参考以下文章

Hive 元数据库表信息

Hive元数据信息获取

hive元数据查询

hive 元数据库表描述

查询 HIVE 元数据

HIve安装模式