Java 中执行Hive QL 语句时报return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Julian197/article/details/78363908

  错误描述:

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

at org.apache.hive.jdbc.HiveStatement.execute(HiveStatement.java:296)

at org.apache.hive.jdbc.HiveStatement.executeUpdate(HiveStatement.java:406)

at yzwork.HiveJdbcClient.main(HiveJdbcClient.java:59)


     执行SQL时,最后一个任务是MoveTask,它的作用是将运行SQL生成的Mapeduce任务结果文件放到SQL中指定的存储查询结果的路径中,具体方法就是重命名.所以就涉及到权限问题了。


    以下是建立连接的语句,

   //默认端口1000 默认的用户名和密码

   Connection conn = DriverManager.getConnection(url,user,password);


    需要在设置user,password为你自己hdfs文件系统的Owner。

   查看Owner方式可以在启动hfs(配置了HADOOP_HOME环境变量后命令start-dfs.sh)服务后访问

  localhost:50070,然后选择Utilities。如图:


然后Owner即为所需。


猜你喜欢

转载自blog.csdn.net/Julian197/article/details/78363908