你好,
我試圖使用CDC三角洲生活表,當管道運行第二次時,我得到一個錯誤:
org.apache.spark.sql.streaming。StreamingQueryException:查詢tbl_cdc [id = * * * -xx-xx-bf7e-6cb8b0deb690 runId = * * * xxxx - 4031 - ba74 b4b22be05774]終止與例外:發現一個數據更新(例如- 00000 - eedcf65d - 3 - aa0.snappy.parquet部分)在源表版本2。這是目前不支持。如果你想忽略更新,設置選項“ignoreChanges”到“真正的”。如果你想反映的數據更新,請重啟該查詢以全新的關卡目錄。
你可以使用ignoreChanges當你閱讀你的流?代碼將會看起來像
從pyspark.sql進口dlt。功能導入坳,expr @dlt。用戶視圖def():返回(火花。readStream .format(“δ”).option (“ignoreChanges”,“真正的”).table (“cdc_data.users”)) dlt.create_target_table dlt(“目標”)。apply_changes(目標=“目標”,源=“用戶”,鍵=(“標識”),sequence_by =坳(“sequenceNum”), apply_as_deletes = expr(“=“刪除”操作”),except_column_list =[“操作”、“sequenceNum”])