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