我遇到了在Talend中运行Hive命令的问题。它是将HDFS文件移动到Hive表中的基本加载命令:
LOAD DATA INPATH '/user/Order_data.txt' OVERWRITE INTO TABLE database1.order_staging
当我从Hive查询工具或服务器上的命令工具运行它时它运行正常但是当我将命令放在Talend中的tHiveRow对象时它失败并出现以下错误:
Query returned non-zero code: 10, cause: FAILED: Error in semantic analysis: Line 1:17 Path is not legal ''/user/Order_Data.txt'': Move from: hdfs://hive-server.com:8020/user/Order_Data.txt to: hdfs://hive-server.com/user/hive/warehouse/Database1.db/order_staging is not valid. Please check that values for params "default.fs.name" and "hive.metastore.warehouse.dir" do not conflict.
我已经测试了tHiveRow对象的连接性,但它确实有效。可能导致这种情况发生的任何想法?
提前致谢,
克雷格
答案 0 :(得分:0)
可能是许可问题。您不应该直接在/ user下拥有文件。它适用于用户空间。您尝试使用Talend的OS用户,您应该拥有该用户的权限。
您能否分享以下详细信息: