Teradata 變更處理
上次更新:2026/10/9Teradata 來源不會產生可直接讀取以進行變更處理的交易記錄。若要擷取變更,Qlik Talend Cloud Data Integration 會掃描來源資料表中的內容資料行,以識別 INSERT、UPDATE 和 DELETE 作業。
必要條件
在設定變更處理之前,請確保來源資料表中至少存在一個特殊內容資料行。上下文欄位可讓 Qlik Talend Cloud Data Integration 判斷資料是否已變更。
- 專門針對變更處理新增內容資料行,或使用包含合適內容資料的現有資料行。
- 您可以使用多個內容資料行,但所有來源資料表中的資料行名稱必須相同。
- 上下文欄位中的每個值都必須是唯一的。
- 對於非日期時間上下文欄位,例如計數器、字串以及非以 Epoch 時間為基準的數值,請使用單例實體來產生這些值。從多個並行來源產生值可能會導致遺漏事件。
範例
在下列範例中,已將 cf 內容資料行新增至資料表。此資料行包含時間戳記,Qlik Talend Cloud Data Integration 透過比較目前的時間戳記與其存放庫中儲存的時間戳記,來判斷是否發生變更。
依預設,所有變更都會視為 INSERT 操作。如果來源資料表也會接收 UPDATE 或 DELETE 作業,請定義更新與刪除運算式以識別作業類型。
設定變更處理設定
- 選取來源連線並開啟 CDC 屬性 區段。
- 在 上下文欄位 中,以區分大小寫且以逗號分隔的清單形式輸入上下文欄位的名稱。例如,
context1,context2。 - 選取遞增或遞減作為內容資料行的排序順序。選取的順序必須與來源資料表中值的實際順序相符。否則,會發生錯誤。
- 設定 每隔 (秒) 檢查變更 以指定檢查變更的頻率。預設值為 10 秒。
- 輸入更新運算式以識別 UPDATE 作業。
- 輸入 刪除運算式 以識別 DELETE 作業。
如果您未定義更新或刪除運算式,或者運算式不相符,則在遞增排序時上下文高於前一個上下文值、或在遞減排序時低於前一個上下文值的資料列,將會被視為 INSERT 操作。
運算式
以來源資料庫的原生語法撰寫運算式。下列範例使用 oper 欄位,其中包含用於更新的 U 以及用於刪除的 D:
- 更新運算式:
case when oper='U' then 1 else 0 end - 刪除運算式:
case when oper='D' then 1 else 0 end
若要處理 DELETE 作業,請使用軟刪除。軟刪除會將資料列標記為已刪除,而不是將其從資料表中移除。
如需其他 Teradata 變更處理限制,請參閱 限制和考慮事項。
其他設定與摘要
在 CDC 屬性 區段中,您還可以設定內部參數、新增更多選項,以及檢視變更處理設定的摘要。
內部參數
內部參數不會在標準使用者介面中公開。僅在 Qlik 支援指示時才新增或變更它們。
- 開啟內部參數設定。
- 輸入參數名稱並將其新增至參數清單。
- 按照 Qlik 支援的指示變更參數值。
更多選項
不會在標準使用者介面中暴露更多選項,且僅適用於特定版本或環境。除非 Qlik 支援或產品說明文件指示您這麼做,否則請勿設定這些選項。
覆寫連線字串參數
您可以附加未在使用者介面中公開的連線字串參數。通常不需要這些參數。在新增它們之前,請諮詢 Qlik 支援。
設定摘要
當您需要檢閱或向 Qlik 支援提供組態詳細資訊時,檢視變更處理設定摘要。