Function 我在猪身上并没有像预期的那样工作

Function 我在猪身上并没有像预期的那样工作,function,apache-pig,is-empty,latin,Function,Apache Pig,Is Empty,Latin,我有一个关系J2,它看起来像(Popp,{(100)})(Urman,{(100)})(Sciarra,{(100)})(Chen,{(100)})(Fa越南,{(100)})(Gietz,{(100)})(Higgins,{(100)})(姓,{(100)})(Grant,{(100)})。。。。我必须测试袋子是否是空的,所以尝试了:S=过滤器J2由IsEmpty($1);。。它正在成功执行,但输出为空。谁能在这方面给我指点一下吗。使用IsEmpty()有任何先决条件吗 注:descripe

我有一个关系J2,它看起来像(Popp,{(100)})(Urman,{(100)})(Sciarra,{(100)})(Chen,{(100)})(Fa越南,{(100)})(Gietz,{(100)})(Higgins,{(100)})(姓,{(100)})(Grant,{(100)})。。。。我必须测试袋子是否是空的,所以尝试了:S=过滤器J2由IsEmpty($1);。。它正在成功执行,但输出为空。谁能在这方面给我指点一下吗。使用IsEmpty()有任何先决条件吗

注:descripe J2给出了“{AA::LAST_NAME:chararray,{(int)}”

以下是解释: 您让包包含元组,因此在下面的例子中:Gietz,{()}包本身不是空的,其中有一个空元组。因此,让我们测试以下输入:

Urman,{(100)}
Gietz,{()}
LAST_NAME,{} 
如果您预测行李的大小,您将得到以下结果:

(Urman,1)
(Gietz,1)
(LAST_NAME,0)
Gietz的包大小也是1,因为它包含一个元组,而元组本身是否为空并不重要

如何做到: (这是一个可行的解决方案)

它转储:

(Gietz,{()},)
(Higgins,{()},)
(LAST_NAME,{()},)
(Grant,{()},)
输入:

Popp,{(100)} 
Urman,{(100)}
Sciarra,{(100)} 
Chen,{(100)}
Faviet,{(100)} 
Gietz,{()}
Higgins,{()}
LAST_NAME,{()} 
Grant,{()}

您也可以尝试使用
SIZE()
。如下所示:
S=按大小筛选J2($1)==0
Popp,{(100)} 
Urman,{(100)}
Sciarra,{(100)} 
Chen,{(100)}
Faviet,{(100)} 
Gietz,{()}
Higgins,{()}
LAST_NAME,{()} 
Grant,{()}