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

如何用Spark DataFrame提取首列唯一值并拼接其余列值?

Spark DataFrame 提取唯一值并拼接对应列数值

可以通过分组+聚合拼接的方式实现需求,核心是用Spark的聚合函数将分组后的列值收集并拼接成字符串。以下是具体实现代码:

Python 版本

假设你的DataFrame第一列名为id,第二列名为value(可替换为实际列名):

from pyspark.sql import functions as F

# 按第一列分组,收集第二列所有值并以指定分隔符拼接
result_df = df.groupBy("id").agg(
    F.concat_ws(", ", F.collect_list("value")).alias("combined_values")
)

Scala 版本

import org.apache.spark.sql.functions.{concat_ws, collect_list}

val result_df = df.groupBy("id")
  .agg(concat_ws(", ", collect_list("value")).alias("combined_values"))

额外说明

  • 如果需要对第二列的拼接值去重,将collect_list替换为collect_set即可
  • 分隔符可根据需求修改(比如把", "换成"; "或其他符号)
  • 替换代码中的id和value为你DataFrame的实际列名

内容的提问来源于stack exchange,提问作者Harshith K R

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 04:26:05