Je suis confronté à un problème dans l'exécution de requêtes conditionnelles dans HiveQL.Le code de base SELECT * à partir de Tableau code> L'instruction fonctionne bien.
L'erreur est la suivante:
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
6 Réponses :
Dans la plupart des cas, cette erreur est causée par un problème d'autorisations, où l'utilisateur de la ruche exécutant la commande n'a pas de droits d'accès à / utilisateur / interface de la ruche p>
Vous voudrez vérifier la configuration du cluster Hadoop Hive P>
J'ai remarqué qu'avec Hive2, vous devez modifier la façon dont vous spécifiez le nombre de réducteurs lors de l'utilisation de HiveQL. Sur Hive1, j'ai utilisé:
SET mapreduce.job.reduces=1
Ceci devrait résoudre votre problème car cette propriété sera définie sur true code> par défaut.
set hive.auto.convert.join.noconditionaltask=false
J'ai une image de Cloudera QuickStart montée à l'aide de VirtualBox. Je devais faire ce qui suit pour résoudre le problème p>
sudo vi /etc/hive/conf/hive-site.xml et définir la propriété hive.auto.convert.join sur false (vous devez raconter pour éditer et donc le sudo). P>
Je n'avais pas la propriété Hive.Auto.Convert.join.NoconditionalTaskTask dans le site Hive-Site.xml.xml. p>
Pour moi, il était dû à la file d'attente ne pas être définie.
set mapred.job.queue.name=xxxx; set mapreduce.job.reduces=1;
Ceci a fonctionné pour moi:
SET hive.auto.convert.join=false;
Avez-vous la solution maintenant? Je suis aussi confronté au même problème.
Vous trouverez peut-être cette application Web utile. SQL.TREASEDATA.com