我有像
这样的结构 {A, {1,2,3}}
{B, {4,5,6}}
我想要的是
{A, "1|2|3"}
{B, "4|5|6"}
答案 0 :(得分:2)
使用Python UDF最容易实现。
<强> myudfs.py 强>
#!/usr/bin/python
@outputSchema('concated: string')
def concat_bag(BAG):
return '|'.join([ str(i) for i in BAG ])
可以像:
一样使用Register 'myudfs.py' using jython as myfuncs;
-- Schema of A is: A:{ T:(letter: chararray, B_of_nums: {num: int}) }
B = FOREACH A GENERATE TOTUPLE(T.letter, myfuncs.concat_bag(T.B_of_nums)) ;
-- The output should be:
-- (A, 1|2|3)
-- (B, 1|2|3)