【问题标题】:Pig - How to use a nested for loop in pig to get the list of elements inside a tuple?Pig - 如何在 pig 中使用嵌套的 for 循环来获取元组内的元素列表?
【发布时间】:2015-01-30 03:27:57
【问题描述】:

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

【问题讨论】:

  • 欢迎来到 Stack Overflow。您可以发布您已经尝试过的内容吗?

标签: hadoop mapreduce tuples apache-pig


【解决方案1】:

你能试试下面的方法吗?

输入

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)

【讨论】:

    猜你喜欢
    • 2021-12-17
    • 2016-08-25
    • 1970-01-01
    • 2016-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多