一尘不染

如何在Pig中解析JSON?

json

我在s3中有很多gzip日志文件,其中有3种类型的日志行:b,c,i。我和c都是单层json:

{"this":"that","test":"4"}

类型b是深度嵌套的json。我碰到这个要点,谈论要编译一个罐子来完成这项工作。由于我的Java技能还不算出色,因此我真的不知道该怎么做。

{"this":{"foo":"bar","baz":{"test":"me"},"total":"5"}}

由于类型i和c并不总是相同的顺序,因此很难在生成正则表达式中指定所有内容。Pig是否可以处理JSON(在gzip文件中)?我正在使用在Amazon
Elastic Map Reduce实例上构建的任何版本的Pig。

这归结为两个问题:1)我可以用Pig解析JSON(如果可以,如何解析)?2)如果我可以解析JSON(从gzip的日志文件中),可以解析嵌套的JSON对象吗?


阅读 274

收藏
2020-07-27

共1个答案

一尘不染

经过大量的变通办法并逐步解决了所有问题,我能够做出答复以完成此任务。我在我的博客上写了有关如何执行此操作的文章。可在此处获得:http :
//eric.lubow.org/2011/hadoop/pig-queries-parsing-json-on-amazons-elastic-map-
reduce-using-s3-data/

2020-07-27