Pig - 生成 JSON 文件的结构格式

Posted

技术标签:

【中文标题】Pig - 生成 JSON 文件的结构格式【英文标题】:Pig - Structure formatting to generate JSON file 【发布时间】:2015-02-06 21:48:10 【问题描述】:

我正在处理一些需要格式化以生成 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 )  )

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

【问题讨论】:

【参考方案1】:

您的地址栏是用一个额外的袋子包裹的,Flattening 地址栏将有助于实现预期的输出。 你可以试试这个吗?

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

上面的命令大部分都可以使用,如果不起作用,请粘贴您的原始输入数据以及您的猪脚本。

【讨论】:

以上是关于Pig - 生成 JSON 文件的结构格式的主要内容,如果未能解决你的问题,请参考以下文章

Pig 如何使用过滤器格式化半结构化 CSV

JavaScript打印JSON对象 - 树形结构输出 - 格式化JSON数组 - JS从一维数组 生成树形结构对象

JavaScript打印JSON对象 - 树形结构输出 - 格式化JSON数组 - JS从一维数组 生成树形结构对象

JavaScript打印JSON对象 - 树形结构输出 - 格式化JSON数组 - JS从一维数组 生成树形结构对象

JSON

JSON数据格式生成无限级树结构