如何跨Apache Pig中的某些列?

时间:2016-04-05 19:09:49

标签: apache-pig

我有像{col1:chararray,col2:int,col3:bag{}}

这样的数据架构

e.g。

{a,1,{d,e}}

{b,2,{c}}

我想要输出

{a,1,d}

{a,1,e}

{b,2,c}

我认为这有点像跨越某些列,但我不知道如何实现相同的目标?也许还有其他方法可以获得输出。

1 个答案:

答案 0 :(得分:0)

您必须使用ToBag功能和Flatten

A = LOAD 'data.txt' USING PigStorage('\t') as (col1:chararray,col2:int,col3:bag{});
B = FOREACH A GENERATE col1,col2, FLATTEN(TOBAG(col3));