我有一个包含两列的 Spark 数据框;src_edge
and dest_edge
。我只是想创建新的 Spark 数据框,使其包含单个列id
值来自src_edge
and dest_edge
.
src dst
1 2
1 3
我想创建df2
as:
id
1
1
2
3
如果可以的话我也想创建df2
没有重复值。有谁知道如何做到这一点?
id
1
2
3
Update
最简单的事情可能是选择每一列,union
他们,并打电话distinct
:
from pyspark.sql.functions import col
df2 = df.select(col("src").alias("id")).union(df.select(col("dst").alias("id"))).distinct()
df2.show()
#+---+
#| id|
#+---+
#| 1|
#| 3|
#| 2|
#+---+
您还可以通过外连接来完成此操作:
df2 = df.select(col("src").alias("id"))\
.join(
df.select(col("dst").alias("id")),
on="id",
how="outer"
)\
.distinct()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)