我正在寻找一种优雅的方法来删除DataFrame中发生在最新事件之前的所有记录
'测试组件'
存在
“不满意”
,基于他们
'TEST_DT'
每个ID的值。
例如,给定ID 5000的以下DataFrame:
| ID | TEST_ID | TEST_COMPONENT | TEST_DT |
|------|---------|----------------|-------------------------------|
| 5000 | ENGL | SATISFACTORY | 2023-01-04T00:00:00.000+11:00 |
| 5000 | ENGL | SATISFACTORY | 2022-09-07T00:00:00.000+10:00 |
| 5000 | OTHER | NONE | 2022-09-07T00:00:00.000+10:00 |
| 5000 | ENGL | UNSATISFACTORY | 2016-05-23T00:00:00.000+10:00 |
| 5000 | OTHER | NONE | 2016-05-23T00:00:00.000+10:00 |
| 5000 | OTHER | NONE | 2016-05-23T00:00:00.000+10:00 |
| 5000 | OTHER | NONE | 2016-02-09T00:00:00.000+11:00 |
| 5000 | OTHER | NONE | 2016-02-09T00:00:00.000+11:00 |
| 5000 | OTHER | NONE | 2016-02-09T00:00:00.000+11:00 |
| 5000 | ENGL | UNSATISFACTORY | 2014-05-29T00:00:00.000+10:00 |
| 5000 | OTHER | NONE | 2013-09-27T00:00:00.000+10:00 |
我只想保留最新的行
“不满意”
记录向前。此示例的期望输出为:
| ID | TEST_ID | TEST_COMPONENT | TEST_DT |
|------|---------|----------------|-------------------------------|
| 5000 | ENGL | SATISFACTORY | 2023-01-04T00:00:00.000+11:00 |
| 5000 | ENGL | SATISFACTORY | 2022-09-07T00:00:00.000+10:00 |
| 5000 | OTHER | NONE | 2022-09-07T00:00:00.000+10:00 |
| 5000 | ENGL | UNSATISFACTORY | 2016-05-23T00:00:00.000+10:00 |
我怎样才能有效地利用
PySpark
?