foreach中的标量投影无效

时间:2017-05-30 05:05:15

标签: hadoop apache-pig bigdata

嗨,我有这样的猪脚本。在执行foreach语句时,它会抛出无效的标量投影错误。这是我的代码。

a = load 'file' using PigStorage(':');
b = group a by ($1, $7, $11);
c = foreach b generate flatten(group), COUNT(a) as (cnt: int);
d = filter c by cnt>1;
e = foreach d generate flatten(a) ;

错误如下所示

<line 6, column 31> Invalid scalar projection: a : A column needs to be projected from a relation for it to be used as a scalar

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

问题是因为,&#39; a&#39;并不存在于&#39; d&#39;关系模式。

描述&#39; d&#39;架构,你得到: d:{bytearray,bytearray,bytearray,cnt:int}其中&#39; a&#39;不存在。

在脚本中,形成C关系,通过平面化组域的投影和a的元素数量,a不包含在关系C中。