在Oozie中创建工作流程时,我有第一个java步骤,它生成一个文件,其中包含下一步所需的文件列表(map-reduce)。如何使用该文件提供map-reduce作业?
我知道我可以勾选java步骤的 Capture输出框,然后在map-reduce步骤中使用 mapred.input.dir 来使用捕获的输出作为输入。但我想脱离这一点。
仅供记录,我的文件内容如下:
/data/kafka/4/camus/DATA.TRADE.ORDERHISTORY/daily/2015/07/18,/data/kafka/4/camus/DATA.TRADE.ORDERHISTORY/daily/2015/07/19,/数据/卡夫卡/ 4 /加缪/ DATA.TRADE.ORDERHISTORY /每日/ 2015/07/20,/数据/卡夫卡/ 4 /加缪/ DATA.TRADE.ORDERHISTORY /每日/ 2015/07/21,/数据/卡夫卡/ 4 /加缪/ DATA.TRADE.ORDERHISTORY /每日/ 2015/07/22 /数据/卡夫卡/ 4 /加缪/ DATA.TRADE.ORDERHISTORY /每日/ 2015/07/23,/数据/卡夫卡/ 4 /加缪/ DATA.TRADE.ORDERHISTORY /每日/ 2015/07/24,/数据/卡夫卡/ 4 /加缪/ DATA.TRADE.ORDERHISTORY /每日/ 2015/07/25,/数据/卡夫卡/ 4 /加缪/ DATA.TRADE。 ORDERHISTORY /每日/ 2015/07/26,/数据/卡夫卡/ 4 /加缪/ DATA.TRADE.ORDERHISTORY /每日/ 2015/07/27,/数据/卡夫卡/ 4 /加缪/ DATA.TRADE.ORDERHISTORY /每日/ 2015年7月28日
答案 0 :(得分:1)
是否要将该文件用作输入文件或参数文件 ??
在第二种情况下,
在下一个Action中,使用适当的EL函数来检索 文件名并将其作为< property> 或< env>
传递$ {WF:actionData(" InitialActionName")[" param.file"]}
然后使用几行Java打开该HDFS文件并执行任何操作 在做实际的Map之前,你应该对内容做些什么 或减少工作