Hadoop Pig-如何在Pig中使用嵌套for循环来获取元组中的元素列表?

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

我有一个中间的猪结构,比如 (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      (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)

欢迎来到堆栈溢出。你能发布你已经尝试过的吗?