猪:像包一样扁平的元组

时间:2014-05-15 04:46:43

标签: apache-pig

我有一个包含未知数量字段的元组。我想扁平元组,以便元组的每个元素创建一个新行(Bag平坦的方式)

e.g。
 的输入

student = { (A, B, (C, D, E, F)) }

输出:

student = { (A, B, C),
            (A, B, D),
            (A, B, E),
            (A, B, F),
          }

我如何实现这一目标?

1 个答案:

答案 0 :(得分:2)

好的,搞定了! 使用LinkedIn的DataFu UDF库函数TransposeTupleToBag将元组转换为包,然后将包扁平化。

这样的事情:     out = foreach学生生成$ 0,$ 1,flatten(TransposeTupleToBag($ 2));