我有一个像这样的.txt文件
1036177 19459.7356 17380.3761 18084.1440
1045709 19674.2457 17694.8674 18700.0120
1140443 19772.0645 17760.0904 19456.7521
其中第一列表示键,其他列表示值。我想规格化(最小-最大)每列,然后总结列。
有人可以给我一些关于如何在mapreduce中这样做的建议吗?
我有一个像这样的.txt文件
1036177 19459.7356 17380.3761 18084.1440
1045709 19674.2457 17694.8674 18700.0120
1140443 19772.0645 17760.0904 19456.7521
其中第一列表示键,其他列表示值。我想规格化(最小-最大)每列,然后总结列。
有人可以给我一些关于如何在mapreduce中这样做的建议吗?
1条答案
按热度按时间7fyelxc51#
从算法Angular 来看,您需要:
制图器
通过分隔符(空格?)解析/标记每个输入行
使用文本对象封装键字段
创建一个自定义值类来封装其他字段,或者使用
ArrayWritable
Package 器从Map器输出这个键/值
减速机
所有值都将按同一键分组,因此在这里您只需处理每个输入值,并计算每列的最小值、最大值和总和
最终输出结果
您可能想看看如何使用apache pig,这将使此任务更容易(未经测试):