您的位置:首页 > 大数据 > Hadoop

FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask

2019-07-10 19:14 2815 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_44999079/article/details/95367300

执行Hive sql时报错:
执行语句和报错详情如下:
hive (thnews_new)>
> insert into table thnews_new.thnews_all
> select date_id.id,date_id.source,date_id.sendTime,date_id.descripe,date_id.subject,date_id.type,context_by_id.context
> from thnews_new.context_by_id as context_by_id join thnews_new.date_id as date_id
> on date_id.id = context_by_id.id;
Automatically selecting local only mode for query
Query ID = root_20190710125148_fd34f996-1eb8-40c3-a3a5-7e04c6edad76
Total jobs = 1
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/soft/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/soft/hbase/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
19/07/10 12:51:57 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
19/07/10 12:51:57 WARN conf.Configuration: file:/tmp/root/e96efa4b-a506-4956-8bda-ca74b326b128/hive_2019-07-10_12-51-48_070_3371426343275360779-1/-local-10005/jobconf.xml:an attempt to override final parameter: mapreduce.framework.name; Ignoring.
Execution log at: /tmp/root/root_20190710125148_fd34f996-1eb8-40c3-a3a5-7e04c6edad76.log
2019-07-10 12:51:59 Starting to launch local task to process map join; maximum memory = 518979584
2019-07-10 12:52:03 Dump the side-table for tag: 0 with group count: 39 into file: file:/tmp/root/e96efa4b-a506-4956-8bda-ca74b326b128/hive_2019-07-10_12-51-48_070_3371426343275360779-1/-local-10002/HashTable-Stage-4/MapJoin-mapfile60–.hashtable
2019-07-10 12:52:03 Uploaded 1 File to: file:/tmp/root/e96efa4b-a506-4956-8bda-ca74b326b128/hive_2019-07-10_12-51-48_070_3371426343275360779-1/-local-10002/HashTable-Stage-4/MapJoin-mapfile60–.hashtable (105284 bytes)
2019-07-10 12:52:03 End of local task; Time Taken: 4.079 sec.
Execution completed successfully
MapredLocal task succeeded
Launching Job 1 out of 1
Number of reduce tasks is set to 0 since there’s no reduce operator
19/07/10 12:52:04 [main]: ERROR mr.ExecDriver: local
Job running in-process (local Hadoop)
19/07/10 12:52:04 [LocalJobRunner Map Task Executor #0]: ERROR exec.MapJoinOperator: Unexpected exception: null
java.lang.NullPointerException
at org.apache.hadoop.hive.ql.exec.MapJoinOperator.getRefKey(MapJoinOperator.java:327)
at org.apache.hadoop.hive.ql.exec.MapJoinOperator.process(MapJoinOperator.java:339)
at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:837)
at org.apache.hadoop.hive.ql.exec.FilterOperator.process(FilterOperator.java:122)
at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:837)
at org.apache.hadoop.hive.ql.exec.TableScanOperator.process(TableScanOperator.java:97)
at org.apache.hadoop.hive.ql.exec.MapOperatorMapOpCtx.forward(MapOperator.java:162)atorg.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:508)atorg.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:163)atorg.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54)atorg.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:453)atorg.apache.hadoop.mapred.MapTask.run(< 3ff7 mi>MapTask.java:343)atorg.apache.hadoop.mapred.LocalJobRunnerMapOpCtx.forward(MapOperator.java:162) at org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:508) at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:163) at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54) at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:453) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343) at org.apache.hadoop.mapred.LocalJobRunnerMapOpCtx.forward(MapOperator.java:162)atorg.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:508)atorg.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:163)atorg.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54)atorg.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:453)atorg.apache.hadoop.mapred.MapTask.run(MapTask.java:343)atorg.apache.hadoop.mapred.LocalJobRunnerJobMapTaskRunnable.run(LocalJobRunner.java:243)atjava.util.concurrent.ExecutorsMapTaskRunnable.run(LocalJobRunner.java:243) at java.util.concurrent.ExecutorsMapTaskRunnable.run(LocalJobRunner.java:243)atjava.util.concurrent.ExecutorsRunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutorKaTeX parse error: Expected 'EOF', got '#' at position 135: … Task Executor #̲0]: FATAL mr.Ex…JobMapTaskRunnable.run(LocalJobRunner.java:243)atjava.util.concurrent.ExecutorsMapTaskRunnable.run(LocalJobRunner.java:243) at java.util.concurrent.ExecutorsMapTaskRunnable.run(LocalJobRunner.java:243)atjava.util.concurrent.ExecutorsRunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutorWorker.run(ThreadPoolExecutor.java:617)atjava.lang.Thread.run(Thread.java:745)Causedby:org.apache.hadoop.hive.ql.metadata.HiveException:Unexpectedexception:nullatorg.apache.hadoop.hive.ql.exec.MapJoinOperator.process(MapJoinOperator.java:426)atorg.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:837)atorg.apache.hadoop.hive.ql.exec.FilterOperator.process(FilterOperator.java:122)atorg.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:837)atorg.apache.hadoop.hive.ql.exec.TableScanOperator.process(TableScanOperator.java:97)atorg.apache.hadoop.hive.ql.exec.MapOperatorWorker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Unexpected exception: null at org.apache.hadoop.hive.ql.exec.MapJoinOperator.process(MapJoinOperator.java:426) at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:837) at org.apache.hadoop.hive.ql.exec.FilterOperator.process(FilterOperator.java:122) at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:837) at org.apache.hadoop.hive.ql.exec.TableScanOperator.process(TableScanOperator.java:97) at org.apache.hadoop.hive.ql.exec.MapOperatorWorker.run(ThreadPoolExecutor.java:617)atjava.lang.Thread.run(Thread.java:745)Causedby:org.apache.hadoop.hive.ql.metadata.HiveException:Unexpectedexception:nullatorg.apache.hadoop.hive.ql.exec.MapJoinOperator.process(MapJoinOperator.java:426)atorg.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:837)atorg.apache.hadoop.hive.ql.exec.FilterOperator.process(FilterOperator.java:122)atorg.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:837)atorg.apache.hadoop.hive.ql.exec.TableScanOperator.process(TableScanOperator.java:97)atorg.apache.hadoop.hive.ql.exec.MapOperatorMapOpCtx.forward(MapOperator.java:162)
at org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:508)
… 10 more
Caused by: java.lang.NullPointerException
at org.apache.hadoop.hive.ql.exec.MapJoinOperator.getRefKey(MapJoinOperator.java:327)
at org.apache.hadoop.hive.ql.exec.MapJoinOperator.process(MapJoinOperator.java:339)
… 16 more

2019-07-10 12:52:05,879 Stage-4 map = 0%, reduce = 0%
Ended Job = job_local1546372873_0008 with errors
19/07/10 12:52:05 [main]: ERROR exec.Task: Ended Job = job_local1546372873_0008 with errors
Error during job, obtaining debugging information…
19/07/10 12:52:05 [Thread-296]: ERROR exec.Task: Error during job, obtaining debugging information…
FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
19/07/10 12:52:05 [main]: ERROR ql.Driver: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
MapReduce Jobs Launched:
Stage-Stage-4: HDFS Read: 0 HDFS Write: 0 FAIL
Total MapReduce CPU Time Spent: 0 msec

★解决方法:
set hive.auto.convert.join=false;
set hive.vectorized.execution.enabled=false;
set hive.vectorized.execution.reduce.enabled=false;

●set hive.vectorized.execution.enabled=false;
默认关闭,开启后,每次处理数据时会将1024行数据组成一个batch进行处理,而不是一行一行进行处理,这样能够显著提高执行速度。

★利用矢量化( Vectorization)
矢量化(Vectorization) 通过在一次操作中提取t 1024 行数据提升性能,而不是一次只取一条。它提升了像过滤, 联合, 聚合等等操作的性能。

Vectorization 可以通过在环境中执行如下命令而得到启用。

set hive.vectorized.execution.enabled=true;
set hive.vectorized.execution.reduce.enabled=true;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐