我有以下抽象的DataFrame(我原來的DF有600億行 )
Id Date Val1 Val2
1 2021-02-01 10 2
1 2021-02-05 8 4
2 2021-02-03 2 0
1 2021-02-07 12 5
2 2021-02-05 1 3
我的預期輸出是:
Id Date Val1 Val2
1 2021-02-01 10 2
1 2021-02-02 10 2
1 2021-02-03 10 2
1 2021-02-04 10 2
1 2021-02-05 8 4
1 2021-02-06 8 4
1 2021-02-07 12 5
2 2021-02-03 2 0
2 2021-02-04 2 0
2 2021-02-05 1 3
基本上,我需要的是:如果Val1或Val2在一段時間內發生變化,這兩個日期之間的所有值都必須具有上一個日期的值。(為了更清楚,請看 ID 2)。
我知道我可以通過多種方式執行此操作(視窗函式、udf、...),但我的疑問是,由于我原來的 DF 有超過 600 億行,那么執行此處理的最佳方法是什么?
uj5u.com熱心網友回復:
我認為最好的方法(性能方面)是執行內部連接(可能是廣播)。如果您擔心記錄的數量,我建議您批量運行它們(可以是記錄數,也可以是日期,甚至是亂數)。一般的想法是避免一次運行。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/459743.html
下一篇:如何對不相關的內容進行分組
