我在 s3 中有很多 gzip 的日志文件,它们有 3 种类型的日志行:b、c、i。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 对象吗?