pig中将两列合并为一列:concat

时间:2022-03-27 21:13:17

aggregate=congregate

 

在新任务中,需要统计两个属性组成的集合,对应有多少个unique 元组。

在pig中统计是很恶心的事,必须先group (详见http://blog.csdn.net/longshenlmj/article/details/8481932

我想通过cogroup做,发现不合适。于是还是用group 做:

T=group table by (a1,a2)后生成一个映射组

然后,cou=group T all;

对cou统计$1的个数就可以了。

(我想说,pig有点坑爹了)

  

杰007试了一下,感觉不爽,使用concat函数将两和字符属性列,合并成一列,直接组成一个属性值

chararray CONCAT(chararray c1, chararray c2)
Parameters:
c1
c2
Returns:
Concatenation of c1 and c2

这样处理起来方便很多,生成新列c1c2,只需要group c1c2 all 后进行统计就好了