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

Spark structured streaming: converting row to json

我正在尝试仅使用 spark API.

DataFrameRow 转换为 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
}

(没有 []

有什么想法吗?

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