pig-structure格式化生成json文件

4dbbbstv  于 2021-06-25  发布在  Pig
关注(0)|答案(1)|浏览(284)

我正在处理一些地址数据,这些数据需要格式化才能生成json文件。我能把我的数据转换成下面的格式

Y: { name: chararray, { ( address: { ( street: chararray,city: chararray,state: chararray,zip: chararray ) } ) } }

我的数据看起来

( jas, { ( { ( streetname1,city1,state1,zip1 ) } ) } )
( sou, { ( { ( streetname2,city2,state2,zip2 ) } ) } )
( sri, { ( { ( streetname3,city3,state3,zip3 ) } ) } )

但我要求的格式是

Y: { name: chararray, address: { ( street: chararray,city: chararray,state: chararray,zip: chararray ) } }

数据应该是

(jas, { ( streetname1,city1,state1,zip1 ) } )
(sou, { ( streetname2,city2,state2,zip2 ) } )
(sri, { ( streetname3,city3,state3,zip3 ) } )

任何帮助都将不胜感激。谢谢

c86crjj0

c86crjj01#

你的地址栏里多了一个袋子, Flattening address列将有助于实现预期的输出。
你能试试这个吗?

Z = FOREACH Y GENERATE name,FLATTEN($1);
DUMP Z;

上面的命令基本上可以工作,如果不工作,请粘贴原始输入数据和pig脚本。

相关问题