Oozie HDFS动作可以使用文件模式还是glob?

sub*_*ity 5 oozie

我可以在Oozie移动动作中使用通配符(例如*)或文件模式(例如{})吗?

我试图将我的工作结果移动到存档目录中.

目录结构的状态:

output
 - 201304
 - 201305
archive
 - 201303
Run Code Online (Sandbox Code Playgroud)

我的行动:

<fs name="archive-files">
    <move source="hdfs://namenode/output/{201304,201305}"
          target="hdfs://namenode/archive" />
    <ok to="next"/>
    <error to="fail"/>
</fs>
Run Code Online (Sandbox Code Playgroud)

结果错误:

FS006: move, source path [hdfs://namenode/output/{201304,201305}] does not exist
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以在glob或bash语法中移动多个文件?想要做类似这个hadoop命令的事情:

hadoop fs -mv hdfs://namenode/output/{201304,201305} hdfs://namenode/archive
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?hadoop fs命令接受glob.Oozie?

Dmi*_*try 1

Oozie HDFS Action 的功能相当有限,在功能规范中有完整描述。要执行更复杂的操作,您可以使用Shell 操作。它允许运行任意 shell 命令作为工作流程的一部分,例如hadoop fs在您的情况下。