[英]PySpark Join after GroupBy
在這種情況下,使用coalesce
在第二個df 上進行Left join
將起作用。
Example:
df.show()
#---+--------+-----+
#tag| ts|value|
#---+--------+-----+
# a|01-01-19| 45|
# a|03-01-19| 89|
# a|04-01-19| 24|
# a|05-01-19| 778|
#---+--------+-----+
df1.show()
#+--------+
#| ts|
#+--------+
#|01-01-19|
#|02-01-19|
#|03-01-19|
#|04-01-19|
#|05-01-19|
#+--------+
df1.alias("t1").join(df.alias("t2"),col("t1.ts")==col("t2.ts"),"left").\
selectExpr("coalesce(t1.ts,t2.ts) as ts","tag","value").\
orderBy("ts").\
show()
#+--------+----+-----+
#| ts| tag|value|
#+--------+----+-----+
#|01-01-19| a| 45|
#|02-01-19|null| null|
#|03-01-19| a| 89|
#|04-01-19| a| 24|
#|05-01-19| a| 778|
#+--------+----+-----+
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.