Подсчет количества появлений уникальных значений с использованием Pig Latin - PullRequest
0 голосов
/ 14 февраля 2020

Я пытаюсь определить топ-5 самых скачиваемых пакетов RStudio на 1 декабря 2019 года (с http://cran-logs.rstudio.com/), используя Apache Pig Latin. Мне нужны столбцы 'r_os' и 'package'. Вот мой код:

A = load '2019-12-01.csv' USING org.apache.pig.piggybank.storage.CSVExcelStorage(',', 'NO_MULTILINE', 'UNIX', 'SKIP_INPUT_HEADER');
B = FOREACH A GENERATE r_os,package;
C = DISTINCT B;
D = GROUP C BY package;
result = FOREACH C GENERATE flatten($0), COUNT($1) as package_distr;

Я получаю следующий результат, который неверен:

(magrittr,10)
(htmltools,10)
(httr,10)
(lubridate,10)
(ellipsis,10)

Количество вхождений должно быть больше, а не 10. Мой желаемый вывод должен выглядеть примерно так:

(magrittr,10000)
(htmltools,9876)
(httr,8700)
(lubridate,5320)
(ellipsis,3000)

Есть идеи, что я делаю не так? Спасибо!

1 Ответ

0 голосов
/ 29 февраля 2020
result = FOREACH D GENERATE group, COUNT(C) as package_distr;

?

group - имя пакета, а C - имя полученного пакета, когда вы сгруппировали C, который мы затем считаем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...