2012-03-27 5 views
6

Что я хочу сделать, это суммировать значения поля во всех строках в псевдониме. Это должно быть просто, но почему-то я не могу найти ответ. Вероятно, это потому, что я хочу скалярное значение, в то время как PIG обрабатывает наборы данных? Думаю, я могу создать строку с полем, которое является суммой? Пожалуйста, порекомендуйте!Как вычислить сумму поля во всех строках из псевдонима

+1

Я нашел ответ, но у меня не хватает репутации чтобы ответить на мой собственный вопрос через 8 часов после публикации. Я добавлю свой ответ позже сегодня вечером. – kee

ответ

13

Это может быть достигнуто с помощью GROUP ALL, чтобы привести все в одну группу, а затем функция SUM, чтобы сложить все поля:

DESCRIBE a 
a: (name, age, height) 

b = GROUP a ALL; 
c = FOREACH b GENERATE SUM(a.age); 
+0

Точно. Это то, что я нашел. Спасибо, в любом случае! – kee

Смежные вопросы