Hdfs 在PIG中加入和分组后计数

Hdfs 在PIG中加入和分组后计数,hdfs,apache-pig,Hdfs,Apache Pig,我是猪的新手,正在尝试理解为什么加入和分组后我不能计数: A = LOAD 'mary' as (line); B = LOAD 'mary' as (line); wordsA = foreach A generate flatten(TOKENIZE(line)) as wordA; grpdA = group wordsA by wordA; cntdA = foreach grpdA generate group, COUNT(wordsA); wordsB = foreach B

我是猪的新手,正在尝试理解为什么加入和分组后我不能计数:

A = LOAD 'mary' as (line);
B = LOAD 'mary' as (line);

wordsA = foreach A generate flatten(TOKENIZE(line)) as wordA;
grpdA = group wordsA by wordA;
cntdA = foreach grpdA generate group, COUNT(wordsA);

wordsB = foreach B generate flatten(TOKENIZE(line)) as wordB;
grpdB = group wordsB by wordB;
cntdB = foreach grpdB generate group, COUNT(wordsB), 'some text';

fltB = FILTER cntdB BY $1>1;

jnd = join cntdA by $1, fltB by $1;
jnd_n = foreach jnd generate $0;
grp = group jnd by $0;
out = foreach grp generate group, count(jnd_n);

dump jnd_n;
dump grp;
转储jnd\n:

(was)
(was)
(was)
(lamb)
(lamb)
(lamb)
(Mary)
(Mary)
(Mary)
转储grp:

(was,{(was,2,was,2,some text),(was,2,Mary,2,some text),(was,2,lamb,2,some text)})
(Mary,{(Mary,2,was,2,some text),(Mary,2,Mary,2,some text),(Mary,2,lamb,2,some text)})
(lamb,{(lamb,2,was,2,some text),(lamb,2,Mary,2,some text),(lamb,2,lamb,2,some text)})
但我得到了一个错误:

无效的标量投影:jnd\n:需要从中投影列 将其用作标量的关系

如果我尝试更改代码:

out = foreach grp generate group, count(jnd_n.$0);
然后我得到另一个错误:

未能生成逻辑计划。嵌套异常: org.apache.pig.backend.executionengine.ExecuteException:错误1070: 无法使用导入解析计数:[,java.lang。, org.apache.pig.builtin.,org.apache.pig.impl.builtin.]

我知道我可以用另一种方法来做,但我想在做了两次清管器操作后得到这样的结果,JOINgroupby

倾卸:

(was,3)
(lamb,3)
(Mary,3)

COUNT
需要大写。是一个关键词

out = foreach grp generate group, COUNT(jnd_n.$0);`

Thx对于答案,yes COUNT是敏感的,但是得到了另一个错误:
error org.apache.pig.tools.grunt.grunt-错误1045:无法推断org.apache.pig.builtin.COUNT的匹配函数是多个,或者它们都不匹配。请使用显式强制转换。