【发布时间】:2019-08-19 21:38:20
【问题描述】:
我的 spark sql 和 scala 代码:
var df = spark.sql(
s"""
|SELECT id, a, b, c, d
|FROM default.table
""".stripMargin)
var grouped_df = df.withColumn("map", struct("a", "b", "c", "d"))
grouped_df的输出:
{
"id": 41286786,
"map": {
"a": "",
"b": "724",
"c": "7425",
"d": ""
}
}
如何获得以下输出或将grouped_df 转换为:
{
"id": 41286786,
"array": [
{ "name": "b", "value": "724" },
{ "name": "c", "value": "7245" }
]
}
如何在 spark sql 或 UDF 中做到这一点?
【问题讨论】:
标签: scala apache-spark apache-spark-sql