Количество слов в PIG - PullRequest
       44

Количество слов в PIG

0 голосов
/ 25 октября 2018

Предположим, у меня есть текстовое имя файла count.txt, которое содержит нижеупомянутый абзац

    I am working  in hadoop along with  various courses like Hadoop, Hana, Java etc
    I love working with hadoop
    This is hadoop project 

Теперь мне нужно узнать, сколько раз слово hadoop встречалось в вышеуказанном файле

следующий код - это то, что я пробовал

    c1= load '/...../count.txt' using PigStorage(',') as (Name:chararray);
    c2 = foreach c1  generate FLATTEN(TOKENIZE(LOWER(Name)))as (Name1:chararray);
    dump c2;
    c3 = filter c2 by Name1=='hadoop';
    dump c3;

здесь вывод я получаю как

(hadoop)
(hadoop)
(hadoop)
(hadoop)

Мне нужна цифра 4, а не слово hadoop, повторенное 4 раза.поэтому я попытался выполнить

`c4 = foreach c3 generate COUNT($0);`

и получить ошибку .. Пожалуйста, помогите мне, может быть, простая вещь, которую я не могу найти.Заранее спасибо.

1 Ответ

0 голосов
/ 25 октября 2018

Попробуйте:

Просто сделайте группу с2:

c3 = filter c2 by Name1=='hadoop'
grouped = GROUP c3 BY Name1;
wordcount = FOREACH grouped GENERATE $0, COUNT($1);
DUMP wordcount

Дайте мне знать, если это поможет.

...