微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用从传入JSON派生的架构将Spark结构化流JSON数据转换为Spark数据集

如何解决使用从传入JSON派生的架构将Spark结构化流JSON数据转换为Spark数据集

在Spark结构化流媒体(Spark 2.2版本)中,我有以下情形:

  1. Kafka主题(单个主题)中的JSON结构如下: 第一条记录:{“ table”:“ T1”,“ ColA”:“ 1”,“ ColB”:“ 2”} 第二条记录:{“ table”:“ T2”,“ ColX”:“ 33”,“ ColY”:“ 44”,“ ColZ”:“ 55”}
  2. 从此流中,我必须分离两个表数据,并使用20 Second Trigger窗口将其另存为HDFS作为两个独立的表数据。
  3. 由于JSON模式不固定,因此我必须从JSON键获取Table列信息。
  4. 因此尝试创建一个SPARK数据集,在该数据集中可以从msg密钥本身派生架构(不能提供外部架构)

问题:如何在不事先了解JSON架构的情况下在Spark结构化流传输中实现此目标?我的代码是用Java开发的。

作为第一记录的数据帧的预期输出

表| ColA | ColB

T1 | 1 | 2

Expected output

非常感谢您的帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。