全部產品
Search
文件中心

Data Transmission Service:過濾待遷移資料

更新時間:Jul 06, 2024

在配置資料移轉任務的遷移對象時,您可以設定過濾條件,過濾待遷移資料。只有滿足過濾條件的資料才會被遷移到目標資料庫。該功能可應用於資料的定期遷移、拆分資料表等多種應用情境。

注意事項

  • 不支援複雜的過濾語句,例如COLUMN1 IN (SELECT id FROM table1)

  • 若源表或集合中存在兩個列名僅大小寫不同的列,則可能會導致過濾任務無法達到預期結果。

  • 來源資料庫類型為Tair/Redis時,僅支援通過Key的首碼過濾資料。

  • 來源資料庫類型為MongoDB時,僅全量同步或遷移任務支援過條件過濾,增量同步處理或遷移階段不支援。

  • 來源資料庫類型為除Tair/RedisMongoDB外的資料庫時,如果過濾條件需要使用引號時,請使用單引號(')。

  • 請勿在過濾條件的末尾輸入分號(;),否則可能會導致任務失敗。

操作步驟

說明

新版控制台的操作步驟,請參見設定過濾條件

  1. 配置資料移轉任務的設定遷移類型及列表環節中,將要遷移的對象移動到已選擇地區框中後,把滑鼠指標放置在要修改的資料表上,並單擊資料表後出現的編輯選擇表

  2. 在彈出的對話方塊中,填入過濾條件

    • 關係型資料庫,例如MySQL、SQL Server。配置SQL過濾條件

      說明
      • 過濾條件支援標準的SQL WHERE語句(僅支援=!=<>操作符),只有滿足WHERE條件的資料才會被遷移到目標資料庫中。本案例填入orderid>100

      • 過濾條件支援按時間條件過濾,但SQL WHERE語句中時間的格式有一定要求,例如過濾2020年之後建立的增量資料,您需要填入create_time>'2020-01-01'create_time>'2020-01-01 00:00:00',不支援填入create_time>'2020'

      • 過濾條件中如需使用引號,請使用英文單引號('),例如address in('hangzhou','shanghai')

      • 如源庫中同一張表記憶體在兩個列A和a,由於過濾條件忽略列名的英文大小寫,則SQL WHERE語句僅支援過濾列A,不支援過濾列a,例如支援WHERE A=10,不支援WHERE a=10

    • 非關係型資料庫,例如MongoDB。

      說明

      支援JSON格式的查詢條件,只有滿足JSON條件的資料才會被遷移到目標庫中。本案例填入{"id":{$gt:"52b64e55dc4449b7ba3d1183a0ea171b"}},即ID大於該值的資料才會被遷移。

  3. 單擊驗證文法,確認文法正確性。

    說明
    • 如果文法正確,則彈出提示對話方塊,並顯示驗證通過

    • 如果語法錯誤,則彈出錯誤對話方塊,您需要根據對話方塊中的提示,對過濾條件進行調整。

  4. 單擊確定

  5. 根據提示,完成後續的資料移轉任務配置。