Oozie 中的 MapReduce 作业可以从文件中读取吗?

Can a MapReduce job in Oozie read from a file?

在 Oozie 中创建工作流时,我有第一个 java 步骤生成一个文件,其中包含下一步(map-reduce)所需的文件列表。我如何使用该文件提供该 map-reduce 作业?

我知道我可以勾选java步骤的捕获输出框,然后使用mapred.input.dir 在 map-reduce 步骤中使用捕获的输出作为输入。但我想摆脱它。

仅作记录,我的文件内容如下:

/data/kafka/4/camus/DATA.TRADE.ORDERHISTORY/daily/2015/07/18,/data/kafka/4/camus/DATA.TRADE.ORDERHISTORY/daily/2015/07/19,/data/kafka/4/camus/DATA.TRADE.ORDERHISTORY/daily/2015/07/20,/data/kafka/4/camus/DATA.TRADE.ORDERHISTORY/daily/2015/07/21,/data/kafka/4/camus/DATA.TRADE.ORDERHISTORY/daily/2015/07/22,/data/kafka/4/camus/DATA.TRADE.ORDERHISTORY/daily/2015/07/23,/data/kafka/4/camus/DATA.TRADE.ORDERHISTORY/daily/2015/07/24,/data/kafka/4/camus/DATA.TRADE.ORDERHISTORY/daily/2015/07/25,/data/kafka/4/camus/DATA.TRADE.ORDERHISTORY/daily/2015/07/26,/data/kafka/4/camus/DATA.TRADE.ORDERHISTORY/daily/2015/07/27,/data/kafka/4/camus/DATA.TRADE.ORDERHISTORY/daily/2015/07/28

您想将该文件用作输入文件还是参数文件??

第二种情况,

  • 激活 初始操作选项
  • 输出类似于"param.file=/a/b/c/z.txt"
  • 在下一个动作中,使用适当的EL函数来检索 文件名并将其作为 <属性>

    传递

    ${wf:actionData("InitialActionName")["param.file"]}

  • 然后使用几行 Java 打开那个 HDFS 文件并做任何事情 在执行实际 Map 之前,您应该先处理内容 或减少工作