shell脚本中的Hive SQL在oozie中失败

时间:2017-10-22 18:45:01

标签: shell hive oozie

我有一个需要在Shell脚本中调用的配置单元HQL。 我在linux中执行.Sh文件时工作正常。但是当我在oozie中执行相同的.sh时,蜂巢部分似乎不起作用。我无法看到纱线中的错误。

.sh文件如下

导出UDR_START_DT = default.udr_lt_bc _ $(日期+“%Y%m%d”-d“昨天”)

echo“开始日期:”$ UDR_START_DT

hive -f /home/scripts/hive/tab_create.hql

tab_create.hql如下:

CREATE TABLE default.san_tst ( alt_rated_amount double, alt_rated_currency double, alt_tariff_clicks_volume double, alt_tmcode double, bill_display_ind字符串 ) 由“,”;

终止的行格式删除字段

注意:.hql文件的路径在linux中,而不是HDFS路径。

1 个答案:

答案 0 :(得分:0)

Oozie获取此shell脚本的副本,并在群集中的任何一个节点中执行。因此,您引用的配置单元路径可能不存在于该节点中。

如果是单节点群集,请确保oozie用户有权访问该完整路径,或将hql文件复制到hdfs中的oozie工作流目录中。

将文件添加到shell操作中:

<file>oozie_workflow_dir/scripts/hive/tab_create.hql#tab_create.hql</file>

但是,您不需要使用shell脚本来执行hql文件。 Hive操作更好,建议运行配置单元脚本。