gpt4 book ai didi

hadoop - Hadoop,如何规范多列数据?

转载 作者:行者123 更新时间:2023-12-02 21:51:16 26 4
gpt4 key购买 nike

我有这样的文件.txt

1036177 19459.7356 17380.3761 18084.1440

1045709 19674.2457 17694.8674 18700.0120

1140443 19772.0645 17760.0904 19456.7521

其中第一列代表键,其他列代表值。
我想规范化(min-max)每列,然后对各列求和。

有人可以给我一些建议,以了解如何在MapReduce中做到这一点?

最佳答案

从算法 Angular 看,您需要:

  • 映射器
  • 通过分隔符(空格?)解析/标记每个输入行
  • 使用Text对象封装键字段
  • 创建自定义值类以封装其他字段,或使用ArrayWritable包装器
  • 从您的映射器
  • 输出此键/值
  • reducer
  • 所有值将按相同的键分组,因此在这里,您只需要处理每个输入值并计算每列
  • 的最小值,最大值和总和
  • 最后输出结果

  • 您可能想看看使用Apache Pig,它将使此任务更加容易(未经测试):
    grunt> A = LOAD '/path/to/data.txt' USING PigStorage(' ') 
    AS (key, fld1:float, fld2:float, fld3:float);
    grunt> GRP = GROUP A BY key;
    grunt> B = FOREACH GRP GENERATE $0, MIN(fld1), MAX(fld1), SUM(fld1),
    MIN(fld2), MAX(fld2), SUM(fld2),
    MIN(fld3), MAX(fld3), SUM(fld3);
    grunt> STORE B INTO '/path/to/output' USING PigStorage('\t', '-schema');

    关于hadoop - Hadoop,如何规范多列数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20691855/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com