动态计算oozie参数(MR动作的reducer数量)

Dynamically calculating oozie parameter (number of reducers for MR action)

在我的 oozie 工作流程中,我动态创建了一个配置单元 table,比如 T1。此配置单元操作之后是映射减少操作。我想将缩减器的数量 属性 (mapred.reduce.tasks) 设置为等于字段的不同值,例如 (T1.group)。关于如何动态设置某些 oozie 参数的值以及如何从 hive 不同操作获取参数值到 oozie 参数的任何想法?

希望对您有所帮助:

  1. 创建配置单元 table 正如您已经在做的那样。
  2. 执行另一个 Hive 查询,计算列的不同值并将其写入 hdfs 中的文件。
  3. 创建一个 Shell 动作,它将读取文件并以 key=value 的形式回显值。为 shell 操作启用 capture-output
  4. 这是您的 MR 操作。现在使用 Oozie EL 函数访问操作数据。例如${wf:actionData('ShellAction')['key']},将这个值传给MR动作的configuration标签中的mapred.reduce.tasks