我在Java中动态生成一些Pig查询并使用PigServer Class执行相同的查询。有什么方法可以异步提交作业,然后轮询/挂钩完成作业?此外,如果pig不允许,我可以使用Oozie和Java Action来实现所需的行为。
答案 0 :(得分:1)
您可以使用OOZIE中的fork and join control nodes并行运行作业。
如果您只想更改要运行的Pig脚本的某些属性,则执行动态代码很容易(您可以使用模板变量 - 请参阅oozie pig action文档)。但是,如果通过动态表示动态构建不同的代码路径,那么在调用pig操作之前,您需要一个自定义Java操作来将pig脚本写出到HDFS。
答案 1 :(得分:0)
首先正确发布你的查询。上面的描述不太清楚。如果你想在java中异步运行任何作业,你应该使用Thread编程。有一个很好的apache框架叫做“quartz-scheduler”,它可以做到这一点task.It是开源的。请看这个链接。
http://quartz-scheduler.org/documentation/quartz-2.x/tutorials/