oozie配置单元操作由于参数分配而不断失败?

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

我正在尝试使用oozie测试运行一个简单的配置单元脚本,但是我不断遇到一个我无法理解的错误。
每次提交作业时,都会收到一条错误消息,上面写着“job failed,error message[parameter expression must contain an assignment:jobrequest]”。但是,我定义了这个参数,并在最初提交配置时为其赋值。
有问题的参数是我试图创建的外部配置单元表名。在oozie工作流中,我在此处定义传递给配置单元脚本的表名参数:

<param>${hiveTableName}</param>

然后,我创建一个job.xml,提交给oozie,其中这个参数的赋值如下:

<property>
    <name>hiveTableName</name>
    <value>jobRequest</value>
</property>

有没有其他人遇到过这样的问题,或者知道是什么原因造成的?似乎参数已经正确定义和分配,但作业仍然失败,并显示上述错误消息。如果有帮助的话,我使用的xml命名空间是:

<hive xmlns="uri:oozie:hive-action:0.2">
dl5txlt9

dl5txlt91#

我收到一条错误消息,上面写着“job failed,error message[参数表达式必须包含赋值:jobrequest]”
它抱怨param标记中缺少赋值运算符。查看文档了解更多详细信息https://oozie.apache.org/docs/3.3.1/dg_hiveactionextension.html
第一种解决方案,使用如下所示的属性标签

<property>
    <name>hiveTableName</name>
    <value>jobRequest</value>
</property>

添加如下参数:

<param>hiveTableName=${hiveTableName}</param>

通过job.properties的第二种解决方案:您希望通过 <param> 标记,在job.properties中定义变量,然后使用 <param> 标签。
e、 g在job.properties中添加,

hiveTableName=jobRequest

然后把 <param>hiveTableName=${hiveTableName}</param> 在oozie工作流配置单元操作中

相关问题