根据这个link,Guillem Xercavins为compute minimum和maximum编写了一个自定义类。在
class MinMaxFn(beam.CombineFn):
# initialize min and max values (I assumed int type)
def create_accumulator(self):
return (sys.maxint, 0)
# update if current value is a new min or max
def add_input(self, min_max, input):
(current_min, current_max) = min_max
return min(current_min, input), max(current_max, input)
def merge_accumulators(self, accumulators):
return accumulators
def extract_output(self, min_max):
return min_max
我还需要计算平均值,我发现示例代码如下:
^{pr2}$你知道如何将平均值方法合并到MinMax中,这样我就只有一个类能够计算最小值、最大值和平均值,并生成一组键和值-3个值的数组吗?在
这是组合类的解决方案,加上中值
用法示例:
^{pr2}$*我没有测试CombinePerKey是否可以在没有GroupByKey的情况下工作,请随时测试。在
相关问题 更多 >
编程相关推荐