如何使用apache pig计算一行的字数并保持该行的id?

e7arh2l6  于 2021-06-24  发布在  Pig
关注(0)|答案(1)|浏览(435)

我有一个包含两列的文件,第一列带有id,第二列带有长文本,我需要知道如何计算每个id的字数。例如,如果我有以下两行:

id | line
(1,  This country is beautiful)
(2, I would love to have a cup of tea)

The answer I need is:
(1, 4)
(2, 9)

我已经读了很多关于这个的评论,但是每个人都会保留每个单词的总数或者单词的总数,而不保留行的id。
如果有人能帮我,我将不胜感激。

bfrts1fy

bfrts1fy1#

比如:

FOREACH row GENERATE
    id,
    COUNT(STRSPLITTOBAG(line, " "));

这应该获取每一行,生成所需的id字段,然后根据delimeter(这里是一个“”值)将文本拆分为一个包类型,其中count函数计算包中的项目数。

相关问题