猪。 json加载器。加载没有架构的嵌套对象

Posted

技术标签:

【中文标题】猪。 json加载器。加载没有架构的嵌套对象【英文标题】:Pig. JsonLoader. Load nested objects without schema 【发布时间】:2014-04-21 11:07:18 【问题描述】:

我有 jsons,我想将它加载到 pig。每个 json 看起来像这样:

"timeStamp":1397718396509,"requestUid":"534F7D320007","result":
//many many different objects

而且我无法为字段 result 提供架构,因为它不是恒定的而且非常大。所以我想把它加载为一个字符数组、地图或其他东西——没关系。但它应该被加载,因为稍后将需要它。我尝试过这样的事情:

LOAD 'log' USING JsonLoader('timestamp:long, req_id:chararray, result:chararray');

但我得到一个空的 result 字段。实现我想要的最简单的方法是什么?

【问题讨论】:

【参考方案1】:

使用Elephant Bird(来自推特)附带的 json 加载器。它将加载嵌套的 Json,而无需提前指定架构。

【讨论】:

示例代码***.com/questions/11074385/multilevel-json-in-pig/…

以上是关于猪。 json加载器。加载没有架构的嵌套对象的主要内容,如果未能解决你的问题,请参考以下文章

如何使用嵌套列表和字典加载JSON对象?

数据加载器解析嵌套数组

什么类加载器的双亲委托模型?

三:JVM(重点)

用大象鸟加载嵌套的json后如何查询它

Java内存管理-掌握虚拟机类加载器