Hadoop Pig-如何在Pig中使用嵌套for循环来获取元组中的元素列表?
我有一个中间的猪结构,比如 (A,B,(编号Cs)) 例如:Hadoop Pig-如何在Pig中使用嵌套for循环来获取元组中的元素列表?,hadoop,mapreduce,tuples,apache-pig,Hadoop,Mapreduce,Tuples,Apache Pig,我有一个中间的猪结构,比如 (A,B,(编号Cs)) 例如: (a1,b1, (c11,c12)) (a2,b2, (c21)) (a3,b3, (c31,c32, c33)) 现在,我想要格式的数据 (a1, b1, c11) (a1, b2, c12) (a2, b2, c21) etc. 我该怎么做呢 本质上我需要元组的大小,然后使用这个大小运行嵌套的for循环 你能试试下面的方法吗 输入 a1 b1 (c11,c12) a2 b2
(a1,b1, (c11,c12))
(a2,b2, (c21))
(a3,b3, (c31,c32, c33))
现在,我想要格式的数据
(a1, b1, c11)
(a1, b2, c12)
(a2, b2, c21) etc.
我该怎么做呢
本质上我需要元组的大小,然后使用这个大小运行嵌套的for循环 你能试试下面的方法吗 输入
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)
输出:
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)
欢迎来到堆栈溢出。你能发布你已经尝试过的吗?