【发布时间】:2012-06-26 11:36:41
【问题描述】:
我得到:
FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.MapRedTask
在尝试使用 hive 控制台中的命令创建分区表的副本时:
CREATE TABLE copy_table_name LIKE table_name;
INSERT OVERWRITE TABLE copy_table_name PARTITION(day) SELECT * FROM table_name;
我最初遇到了一些语义分析错误,不得不设置:
set hive.exec.dynamic.partition=true
set hive.exec.dynamic.partition.mode=nonstrict
虽然我不确定上述属性的作用是什么?
来自 hive 控制台的完整输出:
Total MapReduce jobs = 1
Launching Job 1 out of 1
Number of reduce tasks determined at compile time: 1
In order to change the average load for a reducer (in bytes):
set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
set mapred.reduce.tasks=<number>
Starting Job = job_201206191101_4557, Tracking URL = http://jobtracker:50030/jobdetails.jsp?jobid=job_201206191101_4557
Kill Command = /usr/lib/hadoop/bin/hadoop job -Dmapred.job.tracker=master:8021 -kill job_201206191101_4557
2012-06-25 09:53:05,826 Stage-1 map = 0%, reduce = 0%
2012-06-25 09:53:53,044 Stage-1 map = 100%, reduce = 100%
Ended Job = job_201206191101_4557 with errors
FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.MapRedTask
【问题讨论】:
-
我在查询最近没有进行压缩的 hive 表时看到了这一点。尝试 - 更改表 xyz compact 'MAJOR';
-
顺便说一句设置 hive.auto.convert.join=false;修复了我的问题...
-
就我而言,这个不太有用的错误消息是由于从我没有写入权限的文件夹中运行 hive 所致。切换目录解决了这个问题。
-
我也遇到过同样的问题,而且我注意到从 Impala 但不是从 Hive 运行相同的查询。然后我浏览了 YARN Container 日志,我意识到 Name 节点处于安全模式。