各位, 我找到了很多关于计数词的例子,但找不到计数字母。我只是想把单词拆分成字母,然后数一数,但是我的代码是错误的。有人可以帮我弄这个吗?非常感谢。这是我的代码:
A = load './in/*.txt';
B = FOREACH A GENERATE FLATTEN(TOKENIZE(LOWER((chararray)$0))) as words;
C = FOREACH B GENERATE FLATTEN(REGEX_EXTRACT_ALL(words, '([a-zA-Z])')) as letter;
D = group C by letter;
E = FOREACH D GENERATE COUNT(C), group;
DUMP E;
最佳答案
改变你对应的行如下:
C = foreach B generate flatten(TOKENIZE(REPLACE(words,'','|'), '|')) as letter;
我使用的技巧是用特殊字符 (|) 替换每个字母边界,然后将其标记为分隔符。您也可以使用不常见的字符串序列来代替特殊字符。
关于hadoop - 如何计算字母的数量,而不是使用 Pig 的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36755025/