You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Scala中如何基于Spark从JSON生成指定对象的拼接值列表

解决方案

针对给定的Spark DataFrame,要生成指定列(如Orders)下所有值的拼接字符串列表,可通过以下方式实现:

核心思路

利用Spark内置函数将嵌套Struct类型的列转换为值数组,再通过字符串拼接函数将数组元素用逗号连接。

Scala 代码示例

import org.apache.spark.sql.functions.{col, concat_ws, map_values}

// 定义目标列变量
val targetCol = "Orders"

// 提取目标列所有值并拼接
val resultDF = df.select(concat_ws(",", map_values(col(targetCol))).alias("order_values"))

// 查看结果
resultDF.show(false)

Python 代码示例

from pyspark.sql import functions as F

// 定义目标列变量
target_col = "Orders"

// 提取目标列所有值并拼接
result_df = df.select(F.concat_ws(",", F.map_values(F.col(target_col))).alias("order_values"))

// 查看结果
result_df.show(truncate=False)

结果说明

执行上述代码后,会得到包含拼接结果的DataFrame,其中order_values列的内容为:order_id,customers.customerId。

内容的提问来源于stack exchange,提问作者Shankar Panda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 23:21:07