大家好,
我用DLT(δ生活表)和我實現的一些變化數據捕獲用於重複數據刪除。現在我創建一個下遊表讀取DLT作為流(dlt.read_stream(“<表>”))。
我一直收到這個錯誤:
>檢測數據更新(例如部分- 00000 - 6723832 - a - b8ca - 4表達a20 b576 - d69bd5e42652 c000.snappy.parquet)在源表版本11。這是目前不支持。如果你想忽略更新,設置選項“ignoreChanges”到“真正的”。如果你想反映的數據更新,請重啟該查詢以全新的關卡目錄。
我試過這些選項激活配置:
@dlt。視圖(name = " _wp_strategies_dup "評論=“此表包含測試策略表”,spark_conf = {“ignoreChanges”: "真正的"})
spark.readStream.option (“ignoreChanges”,“真正的”).table (“LIVE.wp_parameters”)
dlt.option (“ignoreChanges”,“真正的”).read_stream (“wp_parameters”)
到目前為止沒有任何工作。是因為與DLT這個配置是不可能的?或者是因為有另一種方式設置此配置?
嗨@Kaniz開羅,
我工作在一個用例,保持客戶數據使用圖案架構使用三角洲生活表。
但我想也基於GDPR刪除數據。所以,我基本上已經嚐試使用簡單的刪除腳本刪除刪除消費者年齡超過5年從青銅,白銀和黃金表。
之後,我試圖再次運行DLT管道,遇到了像上麵提到的問題。
“發現一個數據更新(例如部分- 00000 - 6723832 - a - b8ca - 4表達a20 b576 - d69bd5e42652 c000.snappy.parquet)在源表版本11。這是目前不支持。如果你想忽略更新,設置選項“ignoreChanges”到“真正的”。如果你想反映的數據更新,請重啟這個查詢新的檢查點目錄。”
任何想法如何實現忽略變化和忽略DLT刪除嗎?
我們找到了一個工作來解決這個問題:
df_table =火花。sql (f“SELECT * FROM Employee”)
df_table.write.mode(“追加”)。json (“/ mnt / temp_table /員工”,ignoreNullFields = False)
創建流表Employee_temp生活
評論”員工臨時“
作為
選擇
*
從cloud_files (“/ mnt / temp_table /員工”、“json”)
——創建和填充目標表。
創建或更新直播表dim_employee;
申請變更成
live.dim_employee
從
流(生活。Employee_temp)
鍵
(employeeid)
忽略NULL更新
序列由
load_datetime
存儲為
化合物2型;