【发布时间】:2016-02-24 17:23:32
【问题描述】:
我有一个在 GROUP 操作后看起来像这样的数据集:
input = key1|{(a1,b1,c1),(a2,b2,c2)}
key2|{(a3,b3,c3),(a4,b4,c4),(a5,b5,c5)}
我需要遍历上面的来生成像这样的最终输出:
<KEY>key1</KEY>|
<VALUES><VALUE><VALUE1>a1</VALUE1>VALUE2>b1</VALUE2>VALUE3>c1</VALUE3></VALUE><VALUE><VALUE1>a2</VALUE1><VALUE2>b2</VALUE2><VALUE3>c2</VALUE3> </VALUE></VALUES>
<KEY>key2</KEY>| ...
我曾尝试使用 FLATTEN 和 CONCAT 以下列方式实现此结果:
A = FOREACH input GENERATE key, FLATTEN(input);
output = FOREACH A GENERATE CONCAT('<KEY>',CONCAT(input.key,'</KEY>')),
CONCAT('<VALUE>',''),
CONCAT('<VALUE1>',CONCAT(input.col1,'</VALUE1>')
...
但这并没有提供所需的输出。对猪很陌生,所以不知道这是否可能。
【问题讨论】:
标签: hadoop apache-pig