Spark结构化流式单字符串列动态转换为多列

问题描述

在Spark(2.2)结构化流中,我使用UDF从kafka消息中获取值。
输入JSON:{"A":"1","B":"2","C":"3","D":"4"} 我正在使用Command:

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

从UDF返回STRING,如下所示之一: 也就是说df2包含以下行格式之一的数据。

从UDF中,我可以返回类似以下内容之一的字符串,

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

我正在寻找创建像这样的数据框:

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

有人想到我们如何动态地实现这一目标吗? (此键和值将动态产生)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)