你好,
我想創建一個基本的DLT管道增量加載。第一次運行完全沒有任何問題。然而當記錄被更新時,管道失敗有以下錯誤:
“流銀沒有致命。發生一個錯誤,因為我們檢測到一個更新或刪除一個或多個源表中的行。流表可能隻使用擴展流源。如果你希望刪除或更新行源表將來,請表silver_Employee轉換為一個生活表而不是現場直播表。為了解決這個問題,執行全表刷新銀。全麵刷新將試圖清除所有數據從表銀,然後加載所有數據流源。在版本2 non-append變化可以找到。操作:寫用戶名(未指定):源表名稱:銅”
的代碼我使用DLT腳本如下:
@dlt。create_table (name = bronze_tablename評論=“原始曆史交易”,路徑= f“{path_target_bronze} /{係統}/{表}”)def bronze_incremental (): df = spark.read.format (csv)。選項(頭= True, inferSchema = True,分隔符=‘;’,ignoreChanges = True) .load (f " {path_source} / ")返回df dlt。= f create_target_table (name = silver_tablename路徑“{path_target_silver} /{係統}/{表}”,)# sequence_by和鑰匙是apply_changes dlt的必填字段。apply_changes(源= bronze_tablename目標= silver_tablename鍵= [“EmpId”], sequence_by =坳(“modified_date”), stored_as_scd_type = 1)
你能請讓我知道如何執行插入或合並?
提前謝謝。
RLH