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