【发布时间】:2020-07-14 14:48:22
【问题描述】:
我有一个 shell 脚本 example.sh
hive -e "select max(id) from dummy.table;" > data.txt
hdfs dfs -put -f data.txt /user/username/data.txt
此脚本从 hive 获取数据并将结果存储在 hdfs 中。这在终端中按预期工作。 但是当我创建一个 oozie 工作流时,创建的文件是空的。我尝试打印一些硬编码值,然后工作流程运行良好。问题是,当涉及 hive 查询时,尽管作业成功,但数据不存在。 我尝试用 hql 运行同样的东西,它运行成功。
insert overwrite directory '/user/username/hiveData' select max(id) from dummy.table;
但我的要求是我必须在我的 shell 脚本中获取配置单元数据。
【问题讨论】:
-
您的
workflow.xml是什么样的? IE。你只是在里面调用一个shell动作吗? -
是的,很简单。只需使用 hive -e 命令调用 shell 脚本。 @mazaneicha
-
我猜它应该作为一个shell命令完成,而不是两个分开