spark结构化流单串列到多列的动态转换

gjmwrych  于 2021-05-27  发布在  Spark
关注(0)|答案(0)|浏览(208)

在spark(2.2)结构化流媒体中,我使用udf从kafka消息中获取值。
输入json: {"A":"1","B":"2","C":"3","D":"4"} 我正在使用命令:

df1.createOrReplaceTempView("mytable"); <br>
Dataset<Row> df2 = spark.sql("SELECT UDF1(value) as result from mytable");

从udf返回如下字符串:即df2包含以下行格式之一的数据。
从udf中,我可以返回如下字符串之一,

A:1, B:2, C:3, D:4 
OR 2. A,B,C,D;1,2,3,4 
OR 3. A,B,C,D 
OR 4. 1,2,3,4

我希望创建一个Dataframe,如:

A | B | C | D  ---> Column header 
1 | 2 | 3 | 4  ---> Values

有没有想过如何动态地做到这一点(此键和值将动态出现)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题