本文介绍了执行错误,从org.apache.hadoop.hive.ql.exec.MapRedTask返回代码1的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在执行HiveQL中的条件查询时遇到问题。基本的 select * from tablename 语句正常工作。
错误是:

 总MapReduce工作= 1 
启动工作1满分1
编译时确定的reduce任务的数量:1
为了改变reducer的平均负载(以字节为单位):
set hive.exec.reducers.bytes.per.reducer =< number> ;
为了限制还原器的最大数量:
set hive.exec.reducers.max =< number>
为了设置一个固定数量的简化器:
set mapred.reduce.tasks =< number>
java.net.ConnectException:在连接异常时调用/0.0.0.0:8021失败:java.net.ConnectException:连接被拒绝
在org.apache.hadoop.ipc.Client.wrapException(Client。
at org.apache.hadoop.ipc.Client.call(Client.java:1110)
at org.apache.hadoop.ipc.RPC $ Invoker.invoke(RPC.java:
at org.apache.hadoop.mapred。$ Proxy5.getProtocolVersion(Unknown Source)
at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:398)
在org.apache.hadoop.ipc.RPC.getProxy(RPC.java:384)
在org.apache.hadoop.mapred.JobClient.createRPCProxy(JobClient.java:501)
在org.apache INIT> .hadoop.mapred.JobClient.init(JobClient.java:486)$ b $ LT b。在org.apache.hadoop.mapred.JobClient&(JobClient.java:469)
。在org.apache。 hadoop.hive.ql.exec.ExecDriver.execute(ExecDriver.java:655)
在org.apache.hadoop.hive.ql.exec.MapRedTask.execute(MapRedTask.java:123)
。在要么g.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:130)
在org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:57)
at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1063)
at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:900)$在org.apache.hadoop.hive.ql.Driver.run(Driver.java:748)b
$ b。在org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:209)$在org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:286)b
$ b。在org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:516)
。在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java :25)
在java.lang.reflect.Method.invoke(Method.java:597)
在org.apache.hadoop.util.Ru nJar.main(RunJar.java:186)
导致:java.net.ConnectException:连接被拒绝
在sun.nio.ch.SocketChannelImpl.checkConnect(本地方法)
在sun。 nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:574)
在org.apache.hadoop.net.SocketIOWithTimeout.connect(
....
作业提交失败,出现异常'java .net.ConnectException(调用/0.0.0.0:8021失败,连接异常:java.net.ConnectException:连接被拒绝)'
FAILED:执行错误,从org.apache.hadoop.hive.ql返回代码1 .exec.MapRedTask

我已经尝试了Eclipse IDE和Hive shell。输出是一样的。请帮助!

解决方案

这应该解决您的问题,因为此属性将设置为 true

  set hive.auto.convert.join.noconditionaltask = false 


lockquote
hive.auto.convert.join.noconditionaltask - Hive是否启用基于
输入文件大小将公共连接转换为mapjoin的
优化。


如果此参数打开,并且n-way联接的
表/分区的n-1的大小总和小于指定的值大小,
连接直接转换为mapjoin(没有条件
任务)。


I am facing problem in executing CONDITIONAL QUERIES IN HiveQL.The basic select * from tablename statement works fine. The error is :

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>
java.net.ConnectException: Call to /0.0.0.0:8021 failed on connection exception: java.net.ConnectException: Connection refused
        at org.apache.hadoop.ipc.Client.wrapException(Client.java:1134)
        at org.apache.hadoop.ipc.Client.call(Client.java:1110)
        at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:226)
        at org.apache.hadoop.mapred.$Proxy5.getProtocolVersion(Unknown Source)
        at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:398)
        at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:384)
        at org.apache.hadoop.mapred.JobClient.createRPCProxy(JobClient.java:501)
        at org.apache.hadoop.mapred.JobClient.init(JobClient.java:486)
        at org.apache.hadoop.mapred.JobClient.<init>(JobClient.java:469)
        at org.apache.hadoop.hive.ql.exec.ExecDriver.execute(ExecDriver.java:655)
        at org.apache.hadoop.hive.ql.exec.MapRedTask.execute(MapRedTask.java:123)
        at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:130)
        at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:57)
        at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1063)
        at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:900)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:748)
        at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:209)
        at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:286)
        at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:516)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:186)
Caused by: java.net.ConnectException: Connection refused
        at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
        at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:574)
        at org.apache.hadoop.net.SocketIOWithTimeout.connect(
....
Job Submission failed with exception 'java.net.ConnectException(Call to /0.0.0.0:8021 failed on connection exception: java.net.ConnectException: Connection refused)'
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MapRedTask

I have tried from both Eclipse IDE and Hive shell .The output is same. Please Help!

解决方案

This should solve your issue as this property will set to true by default.

set hive.auto.convert.join.noconditionaltask=false

这篇关于执行错误,从org.apache.hadoop.hive.ql.exec.MapRedTask返回代码1的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-24 04:55