我有一段代码,我想在pig生成的每个map任务的末尾运行它来执行我的工作。换句话说,我需要在map任务退出之前做一些任务。以下是我的研究成果:
我们可以打电话 PigProgressNotificationListener.jobFinishedNotification()
但这种方法是在完成整个作业时调用的,而不是在完成每个(内部)Map器任务时调用的。
自定义项中的finish方法:在自定义项末尾调用,不符合我的要求。
我是mrworld的初学者。
我有一段代码,我想在pig生成的每个map任务的末尾运行它来执行我的工作。换句话说,我需要在map任务退出之前做一些任务。以下是我的研究成果:
我们可以打电话 PigProgressNotificationListener.jobFinishedNotification()
但这种方法是在完成整个作业时调用的,而不是在完成每个(内部)Map器任务时调用的。
自定义项中的finish方法:在自定义项末尾调用,不符合我的要求。
我是mrworld的初学者。
1条答案
按热度按时间ltskdhd11#
在hadoop的mapreduce实现中,有setup和cleanup函数,分别在每个mapper的开头和结尾调用,开发人员可以重写这些函数以获得所需的功能。
因此,如果pig脚本没有那么复杂,无法用一系列mapreduce程序来表示,那么可以利用这些函数。
我确信pig已经足够先进,可以支持这样的功能。所以,只需查找这些函数的pig等价项。