如何使用不同的参数运行多个mrjob任务

2024-06-16 15:35:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一份工作:

from mrjob.job import MRJob
from mrjob.step import MRStep
import urllib
import re
import httpagentparser

UA_STRING = re.compile(MYSUPERCOMPLEXREGEX)

class MRReferralAnalysis(MRJob):

    def mapper(self, _, line):

        for group in UA_STRING.findall(line):

            ua = httpagentparser.simple_detect(group)
            yield (ua, 1)

    def reducer(self, itemOfInterest, counts):

        yield (sum(counts), itemOfInterest)

    def steps(self):
        return [
            MRStep( mapper=self.mapper,
                    reducer=self.reducer)
        ]

if __name__ == '__main__':
    MRReferralAnalysis.run()

现在我想多次调用这个mrjob程序(大约20次),使用从另一个文件获取并传递到MYSUPERCOMPLEXREGEX的不同参数。在mrJob和如何安排任务的情况下,这是可能的吗?或者编写一个包装程序来触发作业?在


Tags: fromimportselfrestringdefuamapper
1条回答
网友
1楼 · 发布于 2024-06-16 15:35:14

MRReferralAnalysis.run()调用包装在一个循环中,并在循环之前立即读入您的配置。然后作业将运行多次。在

相关问题 更多 >