1
我有這樣的關係:添加關係的領域內袋
R1 : a:chararray,b:chararray,c:bag{t:tuple(c1:chararray,c2:chararray)}
所以數據是這樣的:
(a,b,{(aa,bb),(cc,dd)})
(e,f,{(gg,hh),(ii,jj)})
,我希望得到的是:
R2 : c:bag{t:tuple(c1:chararray,c2:chararray,b:chararray,a:chararray,)}
所以:
{(aa,bb,b,a),(cc,dd,b,a)})
{(gg,hh,f,e),(ii,jj,f,e)}
我嘗試了幾種解決方案,使用嵌套的foreach和扁平化的包,我嘗試了交叉連接...但是沒有任何好的解決方案。
尤其我預計這應該工作:
FOREACH R1 {
flatC= FOREACH R1 GENERATE FLATTEN(c) as c1,c2,c3;
GENERATE
a,
b,
c1,
c2,
c3;
};
有沒有人有一個想法?
感謝
謝謝你的回答,但最後我用了一個UDF。 – Junayy 2014-12-03 14:16:36