动态计算oozie参数(MR动作的reducer数量)
Dynamically calculating oozie parameter (number of reducers for MR action)
在我的 oozie 工作流程中,我动态创建了一个配置单元 table,比如 T1。此配置单元操作之后是映射减少操作。我想将缩减器的数量 属性 (mapred.reduce.tasks) 设置为等于字段的不同值,例如 (T1.group)。关于如何动态设置某些 oozie 参数的值以及如何从 hive 不同操作获取参数值到 oozie 参数的任何想法?
希望对您有所帮助:
- 创建配置单元 table 正如您已经在做的那样。
- 执行另一个 Hive 查询,计算列的不同值并将其写入 hdfs 中的文件。
- 创建一个
Shell
动作,它将读取文件并以 key=value
的形式回显值。为 shell 操作启用 capture-output
。
- 这是您的 MR 操作。现在使用 Oozie EL 函数访问操作数据。例如
${wf:actionData('ShellAction')['key']}
,将这个值传给MR动作的configuration
标签中的mapred.reduce.tasks
。
在我的 oozie 工作流程中,我动态创建了一个配置单元 table,比如 T1。此配置单元操作之后是映射减少操作。我想将缩减器的数量 属性 (mapred.reduce.tasks) 设置为等于字段的不同值,例如 (T1.group)。关于如何动态设置某些 oozie 参数的值以及如何从 hive 不同操作获取参数值到 oozie 参数的任何想法?
希望对您有所帮助:
- 创建配置单元 table 正如您已经在做的那样。
- 执行另一个 Hive 查询,计算列的不同值并将其写入 hdfs 中的文件。
- 创建一个
Shell
动作,它将读取文件并以key=value
的形式回显值。为 shell 操作启用capture-output
。 - 这是您的 MR 操作。现在使用 Oozie EL 函数访问操作数据。例如
${wf:actionData('ShellAction')['key']}
,将这个值传给MR动作的configuration
标签中的mapred.reduce.tasks
。