решить кумулятивные данные на свиньи - PullRequest
0 голосов
/ 11 декабря 2018

Я получаю некоторые данные от метра.Пример: -

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

Я хочу извлечь фактическое значение KWH с помощью кода свиньи.

Ожидается: -

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

1 Ответ

0 голосов
/ 03 января 2019

Ссылка на предыдущую запись довольно сложна, поскольку мы разделяем входы и назначаем их для различных задач.Я думаю, что следующий способ будет работать, но он неэффективен (по сравнению с одним процессом, читающим данные последовательно).

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;
...