shell脚本中的配置单元sql在oozie中失败

6jygbczu  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(599)

我有一个需要在shell脚本中调用的hivehql。当我在linux中执行.sh文件时,它工作得很好。但当我在oozie执行同样的操作时,Hive部分似乎不起作用。我看不出Yarn的错误。

.sh文件如下

export UDR_START_DT=default.udr_lt_bc_$(date +"%Y%m%d" -d "yesterday")

echo "Start date : "$UDR_START_DT

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

选项卡\u 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 string
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ",";

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

uinbv5nw

uinbv5nw1#

oozie获取这个shell脚本的副本,并在集群中的任何一个节点上执行。因此,您所引用的配置单元路径可能不在该节点中。
如果是单节点集群,请确保oozie用户有权访问该完整路径,或者将hql文件复制到hdfs中的oozie工作流目录中。
将文件添加到shell操作:

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

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

相关问题