在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上添加一个配置即可。
1
2
3
4
|
<property>
<name>hive.insert.into.multilevel.
dirs
<
/name
>
<value>
true
<
/value
>
<
/property
>
|