首页 > 解决方案 > 合并火花数据框中的两列以形成单列

问题描述

我有一个包含两列的 Spark 数据框;src_edgedest_edge。我只是想创建新的 spark 数据框,以便它包含一个包含来自和id的值的列。src_edgedest_edge

src dst
 1   2
 1   3

我想创建df2为:

id
1
1
2
3

如果可能的话,我也想创建df2没有重复值。有谁知道如何做到这一点?

 id
 1
 2
 3

标签: apache-sparkgraphpyspark

解决方案


array使用和创建一个新列explode以合并和展平两列。然后,要删除重复项,请使用dropDuplicates

from pyspark.sql.functions import array, explode

df2 = df.select(explode(array("src", "dst")).alias("id"))
  .dropDuplicates()

推荐阅读