我有一个中间猪结构 (A,B,(n.no Cs)) 例如:
(a1,b1, (c11,c12))
(a2,b2, (c21))
(a3,b3, (c31,c32, c33))
现在,我想要格式化数据
(a1, b1, c11)
(a1, b2, c12)
(a2, b2, c21) etc.
我该如何去做?
基本上我想要元组的大小,然后使用这个大小来运行嵌套的for循环。
答案 0 :(得分:2)
你能尝试以下方法吗?
<强>输入强>
a1 b1 (c11,c12)
a2 b2 (c21)
a3 b3 (c31,c32,c33)
<强> PigScript:强>
A = LOAD 'input' AS(f1,f2,T:(f3:chararray));
B = FOREACH A GENERATE f1,f2,FLATTEN(T);
C = FOREACH B GENERATE f1,f2,FLATTEN(TOKENIZE(T::f3));
DUMP C;
<强>输出:强>
(a1,b1,c11)
(a1,b1,c12)
(a2,b2,c21)
(a3,b3,c31)
(a3,b3,c32)
(a3,b3,c33)