使用从传入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 (将#修改为@)