当前位置: 首页 > 面试题库 >

如何在Pig中解析JSON?

任昊苍
2023-03-14
问题内容

我在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对象吗?


问题答案:

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



 类似资料:
  • 我有以下格式的json文件: 那么,我如何在pig中解析这个json。。 此外,categories和rep中可以有一些char。。可能并不总是空的。我做了以下尝试。 但我得到这个错误: 组织。科德豪斯。杰克逊。JsonParseException:意外字符('D'(代码68)):在[源代码:java.io]处应为有效值(数字、字符串、数组、对象、“true”、“false”或“null”)。By

  • 我正在尝试从IntelliJ中的源代码在本地运行apache pig。我想逐步完成单元测试。 我已经完成了以下步骤: 之后有人有将其导入IntelliJ的说明吗?它可以使用ant从cmd行编译。 当我归档时- 谢谢

  • 问题内容: 我不确定是否可以使用内置的PIG脚本完成此操作,或者我需要编写UDF代码。但实际上我有一个表,我只想在其中转置数据。 简单地说,给出: 我最终会得到: 关于如何实现此目标的任何建议? 问题答案: 用Pig不可能做到这一点,也没有任何意义。请记住,关系是一包元组,根据定义,不保证包中的元组具有任何特定顺序。您可以从开始 但是从Pig的角度来看,这与 这意味着“转置”定义不正确。以这种方式

  • 问题内容: 我想创建一个新闻应用程序,并且已将newsapi.org用作源。 我正在尝试获取Http库提供的JSON数据。 我在下面提供了完整的代码。 它不会给我任何错误,但不会加载任何数据,当我打印数据时,它可以打印所有内容,但无法显示。 我不是什么问题,但是我所有的项目都已停止解决此问题。 我正在寻找此代码的解决方案,因为它不起作用。 网络助手: 问题答案: 问题在于显示文章。yaa也正如@I

  • 问题内容: 我的项目目前正在python中接收JSON消息,我需要从中获取一些信息。为此,我们将其设置为字符串中的一些简单JSON: 到目前为止,我一直在使用列表生成JSON请求,但是与此相反,我认为我需要使用。但是我没有那么幸运。谁能为我提供一个片段,该片段将在上述示例的输入中返回? 问题答案: 很简单:

  • 问题内容: 我从服务中收到一个很深的JSON对象字符串,必须将其解析为JSON对象,然后将其映射到类。 如何在Kotlin中将JSON字符串转换为对象? 在映射到各个类之后,我使用了Jackson的StdDeserializer。当对象具有必须反序列化为类的属性时,就会出现问题。我无法在另一个反序列化器中获取对象映射器,至少我不知道该怎么做。 在此先感谢您的帮助。最好是在本地,我试图减少所需的依赖