我有一段代码,我想在 pig 生成的每个地图任务结束时运行它来执行我的工作。换句话说,我需要在地图任务退出之前执行一些任务。以下是我的研究结果:
-
我们可以调用
PigProgressNotificationListener.jobFinishedNotification()
但此方法是在完成整个作业时调用的,而不是在完成每个(内部)映射器任务时调用的。 -
UDF 中的完成方法:在 UDF 末尾调用,不符合我的要求。
我是MR世界的初学者。
在Hadoop的MapReduce实现中,设置和清理函数分别在每个映射器的开头和结尾调用,开发人员可以覆盖它们以获得所需的功能。
所以,如果你的Pig脚本不是那么复杂,可以表达为一系列MapReduce程序,你可以利用这些功能。
我确信 Pig 也足够先进,可以支持此类功能。因此,只需查找这些函数的 Pig 等效项。