【发布时间】:2021-07-13 23:24:03
【问题描述】:
我有一个数据框,我正在尝试将数据转换为 JSON,以便发送消息。
val df = Seq((123456, 40, "ABCD", "DEFG")).toDF("ID", "RunId", "Val1", "Val2")
val msgDf = df.select(struct("ID", "RunId", "Val1", "Val2").alias("message"))
msgDf.toJSON.show(false)
msgDf 的架构
message:struct
ID:integer
RunId:integer
Val1:string
Val2:string
我得到的输出是
+----------------------------------------------------------------+
|value |
+----------------------------------------------------------------+
|{"message":{"ID":123456,"RunId":40,"Val1":"ABCD","Val2":"DEFG"}}|
+----------------------------------------------------------------+
我只想捕获下面的内容并将其作为消息发送
{"ID":123456,"RunId":40,"Val1":"ABCD","Val2":"DEFG"}
我怎样才能做到这一点?
【问题讨论】:
-
您使用的是哪个版本的 spark?
-
使用版本 3
标签: json scala apache-spark apache-spark-sql