Я очень новичок в вопросе каскадирования. Теперь я знаю, как делать подсчет слов, используя Cascading. Затем я хочу выполнить некоторую операцию Sum. Например, у меня есть следующий вход:Операция каскадной суммы
a b c 1000
c d e 2000
a s e 5000
Я хочу, чтобы последнее поле. Если я просто выбрать это поле и сделать COUNT это даст мне выход, как:
1000 1
2000 1
5000 1
Это не то, что я хочу !! Я хочу, чтобы просуммировать все эти 3 номера и дать ему имя, которое называется «длительность», которая выглядит следующим образом:
duration 8000
Я могу назвать это поле, которое называется «длительность», но я не знаю, как SUM он сам и поставил ключевую работу «длительность» фронта при выходе в файл.
Это код, который я попробовал:
... // get duration Field
// determine the word counts
Pipe pipe = new Pipe("pipe", docPipe);
pipe = new GroupBy(pipe, new Fields("duration"));
pipe = new Every(pipe, Fields.ALL, new Count(), Fields.ALL);
Но это дает мне неправильный вывод, который я показал выше.
Возможно, я не должен использовать Count, но я попробовал SumBy, он все еще не работает. Может кто-нибудь мне помочь?
Возможно, вам не стоит рассчитывать, когда вы хотите подвести итог? – isnot2bad
Что вы пробовали? Отправьте исходный код, который имеет отношение к вашей проблеме! – isnot2bad
Что такое 'Pipe', какие' GrouBy', 'Every',' Fields'? –