我在 Java 中动态生成一些 Pig 查询并使用 PigServer 类执行相同的查询。有什么方法可以异步提交作业,然后轮询/挂钩以完成作业?另外,如果 pig 不允许,我可以使用 Oozie 和 Java Action 来实现所需的行为。
问问题
363 次
2 回答
1
您可以使用 OOZIE 中的fork 和 join 控制节点来并行运行作业。
如果您只想更改 Pig 脚本的某些属性以运行(您可以使用模板变量 - 请参阅oozie pig 操作文档),则执行动态代码很容易。但是,如果动态是指动态构建不同的代码路径,那么在调用 pig 操作之前,您需要一个自定义 Java 操作将 pig 脚本写入 HDFS。
于 2013-01-03T11:59:12.760 回答
0
首先正确发布您的查询。上面的描述没有很好的解释。如果你想在java中异步运行任何作业,你应该使用线程编程。有一个很好的apache框架叫做“quartz-scheduler”可以完成这个任务。它是开源的。参考这个链接。
http://quartz-scheduler.org/documentation/quartz-2.x/tutorials/
于 2013-01-03T09:49:29.267 回答