不確定是否這將適用於您……
我看著foreachbatch工具來減少工作量的不同的數據從2000萬+的曆史表記錄,因為df.dropDuplicates()函數是間歇性DLT管道執行期間耗盡內存。我最終這樣做:
# #定義目標表最後瓦爾
dlt.create_target_table (“stg_service_requests_unpacked_new_distinct”)
#使用應用變化函數執行合並
dlt.apply_changes (
目標= " stg_service_requests_unpacked_new_distinct ",
源= " stg_service_requests_unpacked_new ",
鍵= dupe_cols_evaluation,
sequence_by =坳(“_hdr_time_in_ms”),
)
dupe_cols_evaluation是一個python列表,我定義重複數據刪除的列來評估。輸出似乎是正確的和運行增量更新對這個過程非常迅速。