今天在CDH上执行hive sql的时候报了一个错。

错误内容为:

    FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask
错误语句:

    INSERT OVERWRITE DIRECTORY '{$dir}' select * from tmp_analyse_os where logdata='{$begin}'  ;

 

错误原因:

    hive源码会检查导出的路径是否存在,如果不存在则报这个错。这个错只有在CDH上的hive才会报错,apache已经修复了这个bug,其实CDH不是没有修复这个bug,而是添加了一个配置文件,但配置文件默认是false(蛋疼)。


解决方法:

    在hive上添加一个配置即可。

   
  hive.insert.into.multilevel.dirs  
  true