将唯一值连接到 spark 数据框中

Concatenation of unique values into a spark dataframe

我有两个具有不同值的 spark 数据帧,我想将它们连接起来:

df:

c1    c2
A     D
B     E
B     F

df2:

A    B
key1 4
key2 5
key3 6

我想将这些数据框中某些列的唯一值连接到一个数据框中。因此,输出将是

结果:

values      origin
A           first
B           first
key1        second
key2        second
key3        second

简单 union 应该可以完成工作:

import pyspark.sql.functions as F

df1 = df1.selectExpr("c1 as value").distinct().withColumn("origin", F.lit("first"))

df2 = df2.selectExpr("A as value").distinct().withColumn("origin", F.lit("second"))

res = df1.union(df2)