我正在写一个多步骤的mrjob。第一步做一些预处理,并以下面的reducer结束:
def some_reducer(self, key, values):
values = (int (value) for value in values)
if key == 'iwantthiskey':
//I want to pass sum(values) as a parameter to the next step
我已经尝试浏览文档并尝试添加passthrough选项或向self.jobconf()添加值,但我无法弄明白。 任何帮助将不胜感激。
答案 0 :(得分:0)
Sonic provided an excellent solution by making a global variable。基本上,一旦你得到了想要的值,就把它存储在全局变量中供以后使用。
my_parameter = None
def some_reducer(self, key, values):
global my_parameter
values = (int (value) for value in values)
if key == 'iwantthiskey':
my_parameter = sum(values)
def next_funtion_or_job(self, input, parameter=my_parameter):
#Your method goes here.
````