HIVE return code 1、2、3

return code 1 

原因:

      'Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask'     

      报错是抄的,多次实践证明,执行hive sql ERROR 返回 return code 1 基本上是执行的HQL无法加入到对应的用户队列中。

解决方法 1:

      执行HQL前,加入 set MapReduce.queue = QUEUE_CRA; CRA(用户名)

解决方法 2:

          hdfs dfs命令对文件夹下的文件赋予权限。使其可以进行操作。

 

return code 2:

     原因 1:

         HQL产生较大的笛卡尔积,撑爆了HIVE 执行的最大线程载荷。

     解决方法:

         优化HQL.

     原因 2 :

Hive运行成功之后,当输入select count(*) from XX或者插入数据时,居然碰到BUG。

2016-04-14 12:31:56,199 Stage-1 map = 0%,  reduce = 0%

Ended Job = job_1460599682683_0005 with errors

Error during job, obtaining debugging information...

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

MapReduce Jobs Launched:

Stage-Stage-1:  HDFS Read: 0HDFS Write: 0 FAIL

Total MapReduce CPU Time Spent: 0 msec


这个问题只是HIVE单方面的问题,而用Hadoop  Job日志查看,却是YarnException: Unauthorized request to start container的问题。

未经授权的请求,怎么会有这样的问题呢。经过网上未解,说是各个节点的时间未同步的问题。

解决方法:

简直是晕,不知道谁刚好把某个节点时间修改了。才导致了这样的坑,居然都踩上了。于是把时间进行修改,进行系统时间同步,果然没有再次出现。
--------------------- 
作者:sparkexpert 
来源:CSDN 
原文:https://blog.csdn.net/sparkexpert/article/details/51158575 
版权声明:本文为博主原创文章,转载请附上博文链接!

 

 

return code 3:

    主要原因是数据倾斜。

 

解决方法 1:

    对数据大的表进行GROUP BY ,减少数据量。

 

解决方法 2: 

   set hive.auto.convert.join = false;       

       •说明:是不是依据输入文件的大小,将Join转成普通的Map Join

       •默认值: false

   set hive.ignore.mapjoin.hint = false;

       •说明: 是否忽略mapjoin hint 即mapjoin标记

        •默认值: true

   set hive.exec.parallel = true;     

         •说明:是否并行提交任务

        •默认值:false

具体可以看这几篇博客:
https://blog.csdn.net/nysyxxg/article/details/73872245
https://blog.csdn.net/nieyanshun_me/article/details/54601492

hive优化中的常用参数:
https://blog.csdn.net/huangjin0507/article/details/49926317
--------------------- 
作者:ikeguang 
来源:CSDN 
原文:https://blog.csdn.net/ddxygq/article/details/81676046 
版权声明:本文为博主原创文章,转载请附上博文链接!

 

 

你可能感兴趣的:(hive,sql)