問題陳述
這是我的用例:我有 2 個表,Today_data例如Yesterday_data:
今日資料:
Id Value
1 1_data
2 2_data
3 3_data
昨天資料:
Id Value
2 2_data
4 4_data
8 8_data
Today_data如果行匹配行,我想洗掉df 行Yesterday_data。
預期結果
Id Value
1 1_data
3 3_data
采取的方法
我在想這應該是一個簡單的左連接,Today_data在左邊,但是在我在這里閱讀了 pyspark 中的所有連接操作之后:https ://sparkbyexamples.com/pyspark/pyspark-join-explained-with-examples/ #pyspark-join-types,我沒有看到任何一個可以解決我的問題。有任何想法嗎?
uj5u.com熱心網友回復:
您正在尋找left_anti加盟:
today_df = spark.createDataFrame([(1, "1_data"), (2, "2_data"), (3, "3_data")], ["Id", "Value"])
yesterday_df = spark.createDataFrame([(2, "2_data"), (4, "4_data"), (8, "8_data")], ["Id", "Value"])
result = today_df.join(yesterday_df, ["Id"], "left_anti")
result.show()
# --- ------
#| Id| Value|
# --- ------
#| 1|1_data|
#| 3|3_data|
# --- ------
您提供的鏈接的本節對此進行了說明。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/421889.html
標籤:
上一篇:更改pyspark中的日期格式
