【问题标题】:solve cumulative data in Pig Latin解决 Pig Latin 中的累积数据
【发布时间】:2018-12-11 15:37:56
【问题描述】:

我正在从仪表中获取一些数据。 示例:-

Date          KWH
2018-12-01    50
2018-12-02    90
2018-12-03    150

我想通过Pig Code提取KWH的实际值。

预期:-

Date         KWH
2018-12-02   40
2018-12-03   60

【问题讨论】:

    标签: apache-pig cumulative-sum


    【解决方案1】:

    在 hadoop 中参考以前的记录很困难,因为我们将输入拆分并将它们分配给不同的任务。我认为以下方式可行,但效率低下(与单个进程顺序读取数据相比)。

    A = LOAD 'test.txt' AS (a1:chararray, a2:int); 
    B = FOREACH A GENERATE ToDate(a1, 'y-M-d', 'UTC') as date, a2;
    C = FOREACH B GENERATE AddDuration(date, 'P1D') as nextdate, -a2 as a2;
    D = join B by date, C by nextdate;
    E = FOREACH D GENERATE B::date as date, B::a2 + C::a2 as value;
    dump E;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-27
      • 1970-01-01
      相关资源
      最近更新 更多