将大型查询传递给oozie java动作

时间:2016-01-12 09:07:35

标签: oozie

我有一个jdbc java类,它将运行jdbc查询,需要从hdfs中的oozie工作流程触发。

目前我的查询是java代码的一部分,但我需要将它们分成属性文件。

我可以将它们作为参数传递,但有没有更好的方法将可用的sql文件直接写入oozie动作中的java代码?

1 个答案:

答案 0 :(得分:0)

  • 将查询转储到文本文件中
  • 将文件上传到HDFS
  • “workflow.xml”中的
  • 引用<file>元素中的每个HDFS文件,以便Oozie在启动Java代码之前将其下载到YARN容器的当前工作目录中
  • 在“workflow.xml”中引用每​​个查询文件(按顺序)作为Java“main()”的<arg> - 没有路径(记住,它们将出现在CWD中)
  • 在您的Java代码中,迭代args[]并加载/执行每个脚本
  • ...
  • 的利润!