【问题标题】:How to parse Nested Json messages from Kafka topic to hive如何将嵌套的 Json 消息从 Kafka 主题解析到配置单元
【发布时间】:2017-02-24 02:49:17
【问题描述】:

我对 Spark Streaming 和 Scala 还是很陌生。我有一个来自 kafka 主题的 Json 数据和一些其他随机日志数据。我能够像这样过滤掉 json 数据

val messages = KafkaUtils.createDirectStream[String, String, StringDecoder, StringDecoder](ssc, kafkaParams, topicsSet).map(_._2).filter (x => x.matches("^[{].*" ))

我的 json 数据如下所示。

{"time":"125573","randomcol":"abchdre","address":{"city":"somecity","zip":"123456"}}

我正在尝试解析 json 数据并将其放入配置单元表中。 有人可以指出我正确的方向。 谢谢

【问题讨论】:

  • 问题是什么?
  • 我正在尝试解析 json 数据并放入配置单元表中。

标签: json scala hadoop apache-spark


【解决方案1】:

有多种方法可以做到这一点。

  1. 创建一个包含所需列并指向此数据位置的外部配置单元表。
  2. 创建表时,您可以使用默认的 JSON serde,然后使用 get_json_object 配置单元函数并将此原始数据加载到最终表中。功能详情请参考this

您可以尝试使用 avro serde 并根据您的 json 消息提及 avro 架构来创建配置单元表。有关 avro serde 示例,请参阅 this .

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2021-07-15
    • 2020-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-09
    相关资源
    最近更新 更多