在hadoop中reduce后处理数据
Process data after reducing in hadoop
我有一个文本文件:
A 1
A 4
A 2
B 8
B 1
我想计算 maxA(4)
和 maxB(8)
的平均值。首先,在 mapper 中,我通过键将数据传递给 reducer,在 reducer 中,我找到该键的最大值。但是我如何计算它们减少后的平均值呢?
如果你只让映射器输出key的最大值,那么你将无法从reducer的输出中获取key的平均值。根本没有足够的信息。
要么在 reducer 处理期间取平均值并将其与最大值一起输出(可能由一些分隔符分隔以便于解析),要么 运行 另一个 map-reduce 作业以计算平均值。
我有一个文本文件:
A 1
A 4
A 2
B 8
B 1
我想计算 maxA(4)
和 maxB(8)
的平均值。首先,在 mapper 中,我通过键将数据传递给 reducer,在 reducer 中,我找到该键的最大值。但是我如何计算它们减少后的平均值呢?
如果你只让映射器输出key的最大值,那么你将无法从reducer的输出中获取key的平均值。根本没有足够的信息。
要么在 reducer 处理期间取平均值并将其与最大值一起输出(可能由一些分隔符分隔以便于解析),要么 运行 另一个 map-reduce 作业以计算平均值。