我有兩個DF,一個是全負荷,另一個是增量,我想在兩個資料框中都添加相同的customer_ID的資料。因此,我的最終輸出是,customer_ID是相同的,但值是更新的。我想在資料框架中做到這一點,我有另一種方法,那就是upsert,但為此需要制作一些暫存表,我想避免這種情況,我怎樣才能將資料添加到主表中呢
?完整的表
| customer_ID | 金額||||||
|---|---|---|---|---|---|---|
| ABC1234? | 20 | ABC1235?
| ABC2222 | ABC1345 | ABC4444 | ABC5555? |
incremental_load
| customer_ID | customer_ID | 金額 | |||
|---|---|---|---|---|---|
| ABC1234? | 5 | ABC1235?
| ABC2222?
| ABC1345 | ABC9999 |
期望輸出
uj5u.com熱心網友回復:
你可以聯合兩個資料框,然后對同一個客戶的所有條目進行求和:
from pyspark.sql import functionsas F
dfFull= ...
dfInc=...
dfResult=dfFull.union(dfInc).groupBy('customer_ID').agg(F.sum('amount').alias('amount')
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/328154.html
標籤:
上一篇:將資料從A類中的物件傳遞給B類
