[英]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.