DTS在將數據同步到DataHub或MaxCompute時,會在同步的目標表添加一些附加列,用于元數據管理、排序去重等。如果附加列和目標表中已有的列出現名稱沖突將會導致數據同步失敗,為避免出現此類問題,您可以修改同步附加列的命名規則。

背景信息

在修改數據同步的附加列規則前,您需要評估附加列和目標表中已有的列是否會出現名稱沖突。關于附加列名稱及其定義請參見下表。

重要 使用舊版附加列規則時,DTS也會給目標中的源庫原有業字段加前綴(dts_);使用新版附加列規則時,DTS不會給目標中的源庫原有業字段加前綴。
表 1. 附加列名稱和定義說明
目標實例舊版附加列名稱新版附加列名稱附加列定義
DataHub
  • dts_record_id
  • dts_instance_id
  • dts_db_name
  • dts_table_name
  • dts_operation_flag
  • dts_utc_timestamp
  • dts_before_flag
  • dts_after_flag
  • new_dts_sync_dts_record_id
  • new_dts_sync_dts_instance_id
  • new_dts_sync_dts_db_name
  • new_dts_sync_dts_table_name
  • new_dts_sync_dts_operation_flag
  • new_dts_sync_dts_utc_timestamp
  • new_dts_sync_dts_before_flag
  • new_dts_sync_dts_after_flag
參見Topic結構定義說明
MaxCompute
  • record_id
  • operation_flag
  • utc_timestamp
  • before_flag
  • after_flag
  • modifytime_year
  • modifytime_month
  • modifytime_day
  • modifytime_hour
  • modifytime_minute
  • new_dts_sync_record_id
  • new_dts_sync_operation_flag
  • new_dts_sync_utc_timestamp
  • new_dts_sync_before_flag
  • new_dts_sync_after_flag
  • new_dts_sync_modifytime_year
  • new_dts_sync_modifytime_month
  • new_dts_sync_modifytime_day
  • new_dts_sync_modifytime_hour
  • new_dts_sync_modifytime_minute
參見增量日志表結構定義說明

操作步驟

  1. 開始配置數據同步作業,詳情請參見配置同步任務(舊控制臺)中的第1步到第7步。
  2. 選擇同步對象環節的頁面底部,根據業務需求選擇是否啟用新的附加列規則
    修改附加列規則
    選項說明
    選擇為,則啟用新的附加列規則。
    說明 如果舊版附加列的名稱和目標表中已有的列出現名稱沖突,請選擇為來避免。

    DTS在舊版附加列添加名為new_dts_sync_的前綴組成新的附加列。

    例如舊版附加列的名稱為record_id,那么新的附加列的名稱即為new_dts_sync_record_id

    使用舊版附加列的名稱。
    說明 如果同步的目標實例是DataHub,DTS還會為目標表的業務字段添加名為dts_的前綴。例如源表的業務字段為address,目標表中對應的字段即變更為dts_address
    說明 關于數據同步涉及的附加列名稱和定義,請參見附加列名稱和定義說明
  3. 根據提示,完成后續的數據同步作業配置。

相關文檔