Las*_*ang 3 graph apache-spark pyspark
我有一个包含两列的 Spark 数据框;src_edge和dest_edge。我只是想创建新的 Spark 数据框,以便它包含一个包含来自和id的值的列。src_edgedest_edge
src dst
1 2
1 3
Run Code Online (Sandbox Code Playgroud)
我想创建df2为:
id
1
1
2
3
Run Code Online (Sandbox Code Playgroud)
如果可能的话,我还想创建df2不重复的值。有谁知道如何做到这一点?
id
1
2
3
Run Code Online (Sandbox Code Playgroud)
更新
最简单的事情可能是选择每一列,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|
#+---+
Run Code Online (Sandbox Code Playgroud)
您还可以通过外连接来完成此操作:
df2 = df.select(col("src").alias("id"))\
.join(
df.select(col("dst").alias("id")),
on="id",
how="outer"
)\
.distinct()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4088 次 |
| 最近记录: |