簡體   English   中英

如何使用不同的參數運行多個mrjob任務

[英]How to run multiple mrjob tasks with different parameters

我有這樣的工作:

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程序(大約兩次),並使用從另一個文件獲取並傳遞到我的MYSUPERCOMPLEXREGEX中的不同參數。 使用mrJob甚至還有可能如何安排任務? 還是編寫一個觸發作業的包裝程序?

MRReferralAnalysis.run()調用包裝成一個循環,並在循環之前立即讀入您的配置。 然后該作業將運行多次。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM