Oozie HDFS操作可以使用文件模式或glob吗?
我可以在Oozie移动操作中使用通配符(例如*)或文件模式(例如{})吗 我正在尝试将工作结果移动到存档目录中 目录结构的状态:Oozie HDFS操作可以使用文件模式或glob吗?,oozie,Oozie,我可以在Oozie移动操作中使用通配符(例如*)或文件模式(例如{})吗 我正在尝试将工作结果移动到存档目录中 目录结构的状态: output - 201304 - 201305 archive - 201303 我的行动: <fs name="archive-files"> <move source="hdfs://namenode/output/{201304,201305}" target="hdfs://namenode/archiv
output
- 201304
- 201305
archive
- 201303
我的行动:
<fs name="archive-files">
<move source="hdfs://namenode/output/{201304,201305}"
target="hdfs://namenode/archive" />
<ok to="next"/>
<error to="fail"/>
</fs>
有没有一种简单的方法可以用glob或bash语法移动多个文件?希望执行类似于此hadoop命令的操作:
hadoop fs -mv hdfs://namenode/output/{201304,201305} hdfs://namenode/archive
我错过什么了吗?hadoop fs命令接受glob。Oozie?Oozie HDFS操作的功能非常有限,在中有详细描述。要做更复杂的事情,你可以使用。它允许作为工作流的一部分运行任意shell命令,例如,在您的情况下,
hadoop fs
。否-根据我的经验,它看起来不起作用
FS006:移动,源路径[hdfs://nodename:8020/projects/blah/201*.gz]在workflow.xml中不存在。请使用以下命令:
<action name="Movefiles">
<fs>
<move source='${SourcePath}' target='${DestinationPath}'/>
</fs>
<ok to="end"/>
<error to="fail"/>
</action>
并在job.properties中写入:
SourcePath=输出/*/
DestinationPath=archive
<action name="Movefiles">
<fs>
<move source='${SourcePath}' target='${DestinationPath}'/>
</fs>
<ok to="end"/>
<error to="fail"/>
</action>