Spark结构化流:将行转换为json

时间:2017-10-16 12:51:50

标签: java json scala apache-spark spark-structured-streaming

我尝试仅使用spark API将Row DataFrame转换为json字符串。

来自输入Row

+----------------+-----------+
|       someThing|       else|
+----------------+-----------+
|            life|         42|
+----------------+-----------+

myDataFrame
.select(struct("*").as("col"))
.select(to_json(col("col")))
.writeStream()
.foreach(new KafkaWriter())
.start()

使用KafkaWriter,即使用row.toString()我得到了:

[{  
    "someThing":"life",
    "else":42
}]

当我希望得到这个时:

{  
    "someThing":"life",
    "else":42
}

(没有[]

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

刚刚找到解决方案。使用Row.mkString而不是Row.toString解决了我的问题。

答案 1 :(得分:-1)

你有一排。如果放行,则数组的输出变为

相关问题