我有这样的工作:
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以及如何安排任务?或者编写一个触发作业的包装程序?
答案 0 :(得分:0)
将MRReferralAnalysis.run()
调用换行循环,并在循环之前立即读取配置。然后该作业将多次运行。