猪:如何在袋子中按元组分组?

时间:2018-10-19 20:35:11

标签: apache-pig

我有一个看起来像这样的数据文件:

(id1,['seller_name'#'Ray'],{(A),(B),(C)})
(id2,['seller_name'#'Ray'],{(B),(C)})
(id3,['seller_name'#'Sam'],{(A),(D)})
(id4,['seller_name'#'Ray'],{(B),(D)})

我想要这个:

(Ray,A,1)
(Ray,B,3)
(Ray,C,2)
(Ray,D,1)
(Sam,A,1)
(Sam,D,1)

因此,基本上是按'seller_name'( map 称为'sellers')和唯一的 tuples bag (称为“ companies”)中。

我只能通过地图进行分组,但是当我不能根据中的 tuples 进行分组时em> bag 。我尝试按FLATTEN(companies)进行分组,但它只采用第一个 tuple ,而是返回此值:

(Ray,A,1)
(Ray,B,2)
(Sam,A,1)

有人可以帮忙吗?

0 个答案:

没有答案