在我的oozie工作流中,我动态地创建一个配置单元表,比如t1。此配置单元操作之后是map reduce操作。我想将numberofreducers属性(mapred.reduce.tasks)设置为字段的不同值,比如(t1.group)。如何动态设置某个oozie参数的值,以及如何从hive distinct action到oozie参数获取参数值?
vnjpjtjt1#
我希望这能有帮助:创建配置单元表,就像您已经在做的那样。执行另一个配置单元查询,该查询计算列的不同值并将其写入hdfs中的文件。创建 Shell 操作,它将读取文件并以 key=value . 启用 capture-output 对于shell操作。这是你的行动。现在使用oozie el函数访问动作数据。例如。 ${wf:actionData('ShellAction')['key']} ,将此值传递给 mapred.reduce.tasks 在 configuration mr动作的标签。
Shell
key=value
capture-output
${wf:actionData('ShellAction')['key']}
mapred.reduce.tasks
configuration
1条答案
按热度按时间vnjpjtjt1#
我希望这能有帮助:
创建配置单元表,就像您已经在做的那样。
执行另一个配置单元查询,该查询计算列的不同值并将其写入hdfs中的文件。
创建
Shell
操作,它将读取文件并以key=value
. 启用capture-output
对于shell操作。这是你的行动。现在使用oozie el函数访问动作数据。例如。
${wf:actionData('ShellAction')['key']}
,将此值传递给mapred.reduce.tasks
在configuration
mr动作的标签。