【发布时间】:2021-11-17 13:28:22
【问题描述】:
import pyspark.sql.functions as F
data1 = [("10/05/21", 1, "White", 3000), ("10/06/21", 2, "Blue", 4100), ("10/07/21", 3, "Green", 6200)]
df1 = spark.createDataFrame(data1, ["START", "KEY1", "Color", "OTHER"])
data2 = [(1, 2, 3, 3000), (2, 3, 2, 4100), (3, 1, 2, 6200)]
df2 = spark.createDataFrame(data2, ["KEY2", "KEY3", "KEY4", "NUMBER"])
df_result = df1.withColumnRenamed("START", "DATE1").join(
df2,
F.col("KEY1") == F.col("KEY2")
).select("DATE1", "KEY3", "KEY4").join(
df1.withColumnRenamed("START", "DATE2"),
F.col("KEY1") == F.col("KEY3")
).select("DATE1", "DATE2", "KEY4").join(
df1.withColumnRenamed("START", "DATE3"),
F.col("KEY1") == F.col("KEY4")
).select("DATE1", "DATE2", "DATE3")
df_result.show()
我正在尝试使用找到 here 的方法,但似乎无法加入它,因为说无法解决 key4。
【问题讨论】:
标签: python-3.x dataframe pyspark