整庫離線同步方案包括周期性全量同步、周期性增量同步處理、一次性全量同步、一次性增量同步處理、一次性全量周期性增量同步處理。本文以一次性全量周期性增量同步處理至Elasticsearch為例,為您講解如何將整庫資料離線同步至Elasticsearch。
前提條件
已完成資料來源配置。您需要在Data Integration同步任務配置前,配置好您需要同步的源端和目標端資料庫,以便在同步任務配置過程中,可通過選擇資料來源名稱來控制同步任務的讀取和寫入資料庫。同步任務支援的資料來源及其配置詳情請參見支援的資料來源及同步方案。
說明資料來源相關能力介紹詳情請參見:資料來源概述。
已完成資料來源環境準備。您可以基於您需要進行的同步配置,在同步任務執行前,授予資料來源配置的帳號在資料庫進行相應操作的許可權。詳情請參見:資料庫環境準備概述。
操作流程
步驟一:選擇同步方案
建立同步解決方案任務,根據需求選擇需要同步的源端資料來源和目標端資料來源,並選擇整庫離線同步至Elasticsearch方案。
步驟二:配置網路連通
源端選擇已建立的源端資料來源與目標端資料來源,以及用於執行同步任務的資源群組。並測試資源群組與資料來源的網路連通。詳情請參見:配置同步網路連結。
步驟三:設定同步來源與規則
在基本配置地區,配置同步解決方案的名稱、任務存放位置等資訊。
在資料來源地區,確認需要同步的源端資料來源相關資訊。
在選擇同步的源表地區,選中需要同步的源表,單擊表徵圖,將其移動至已選源表。
該地區會為您展示所選資料來源下所有的表,您可以選擇整庫全表或部分表進行同步。
在設定表名到索引的映射規則地區,單擊添加規則,選擇相應的規則進行添加。
同步時預設將源端資料表寫入Elasticsearch同名索引中,同時,您可以通過添加映射規則定義最終寫入目的端的索引名稱,實現將多張表資料寫入到同一個索引中,或統一將源端某固定首碼的表名在寫入目標索引時更新為其他首碼。支援通過Regex轉換寫入的索引名,還支援使用內建變數拼接目標索引名。配置邏輯請參見:設定同步來源與規則。
步驟四:設定目標索引
單擊重新整理源表和Elasticsearch 索引映射將根據您在步驟三配置的設定表名到索引名的映射規則來產生目標索引,若步驟三未配置映射規則,將預設寫入與源表同名的目標索引,若目標端不存在該同名索引,將預設建立。同時,您可以修改索引建立方式。
目標表名將根據您在設定表名到索引名的映射規則階段配置的表名轉換規則自動轉換。
功能 | 描述 |
選擇主鍵替代方案 |
|
選擇索引建立方式 | 支援自動建索引和使用已有索引:
|
編輯目標索引 | 同步解決方案預設根據源端產生目標索引結構,可能存在欄位類型轉換,即若目標端資料庫中沒有與源端一致的資料類型時,同步任務在自動建立目標索引時,將自動為源端欄位匹配目標端可寫入的欄位類型。支援您單擊Elasticsearch索引名列的目標索引名根據需求修改目標索引的相關參數。 說明 僅在索引建立方式為自動建索引時,支援編輯目標索引。
說明 當建立了目標Elasticsearch索引後,如果不修改相關參數,則系統會按照預設值的相應規則進行資料同步。 |
步驟五:同步規則設定
選擇同步方案。
整庫離線同步可選擇的同步方案如下表所示。
同步方案
描述
只全量一次性同步
只執行一次同步操作,將來來源資料源的所有資料,全量同步至Elasticsearch中。
只增量一次性同步
只執行一次同步操作,按照指定的過濾條件,將來來源資料源的增量資料同步至Elasticsearch中。
周期性全量同步
按照配置的周期任務,每次執行任務時都將來來源資料源的所有資料,全量同步至Elasticsearch中。
周期性增量同步處理
按照指定的過濾條件和周期任務,每次執行任務時僅將增量資料同步至Elasticsearch中。
全量一次性同步後周期性增量
先將來來源資料源的所有資料全量同步至Elasticsearch,再按照指定的過濾條件和周期任務,後續每次執行任務時僅將增量資料同步至Elasticsearch中。
配置同步方案參數。
選擇同步方案後,不同同步方案需配置不同的同步參數,包括全量同步參數、增量同步處理參數及周期設定參數。具體如下:
全量同步
僅當方案選擇配置為只全量一次性同步、周期性全量同步或全量一次性同步後周期增量時,需要配置該參數。
參數
描述
寫入前清空對應的原有index(索引)
取值如下:
是:寫入資料前會清空索引中原有的資料。
否:寫入資料前不會清空索引中原有的資料。
重要配置該參數為是時,則會在寫入資料前刪除目標索引中所有的資料,請謹慎選擇。
寫入Elasticsearch策略
取值如下:
插入:為預設值,同步資料時直接向目標索引中插入資料。
更新:同步資料時,如果有相同的主鍵,則更新主鍵資料;如果沒有相同的主鍵,則直接插入資料。
更新資料時,是先將原有的一行資料全部刪除後再重新插入。
每批次寫入的條數
每次批量寫入Elasticsearch的資料條數,即攢夠一定條數的資料後,一次性寫入Elasticsearch。預設為1000。您可以根據實際網路情況及資料量大小進行合理配置,減少不必要的網路開銷。
增量同步處理
僅當方案選擇配置為只增量一次性同步、周期性增量同步處理或全量一次性同步後周期增量時,需要配置該參數。
說明您可以使用調度參數來指定同步源表及目標表的資料範圍,調度參數使用說明請參見:Data Integration使用調度參數的相關說明。
參數
描述
寫入Elasticsearch策略
取值如下:
插入:為預設值,同步資料時直接向目標索引中插入資料。
更新:同步資料時,如果有相同的主鍵,則更新主鍵資料;如果沒有相同的主鍵,則直接插入資料。
更新資料時,是先將原有的一行資料全部刪除後再重新插入。
每批次寫入的條數
每次批量寫入Elasticsearch的資料條數,即攢夠一定條數的資料後,一次性寫入Elasticsearch。預設為1000。您可以根據實際網路情況及資料量大小進行合理配置,減少不必要的網路開銷。
增量條件
您可通過where語句對待同步的資料表進行過濾,且只需在增量條件框中填寫where子句,無需寫where關鍵字。同時,在寫where子句時,您可以使用系統內建變數,例如使用
${bdp.system.bizdate}
指代業務日期、使用${bdp.system.cyctime}
指代定時時間等。周期設定
由於需要進行周期性調度,所以需要在此定義周期性調度任務時的相關屬性,包括調度周期、生效日期、暫停調度等。當前方案的調度配置與DataWorks中節點的調度配置一致,參數詳情可參見時間屬性配置說明。
步驟六:運行資源設定
該同步方案將分別建立全量離線同步任務和增量離線同步任務,您可以在此步驟配置任務名稱及任務執行所使用的調度資源群組與Data Integration任務執行資源組,同時,Data Integration提供資料庫最大串連數、並發數等配置的預設值,如果您需要對任務做精細化配置,您可通過進階配置進行修改。
DataWorks的離線同步任務通過調度資源群組將其下發到Data Integration任務執行資源組上執行,所以離線同步任務除了涉及Data Integration任務執行資源組外,還會佔用調度資源群組資源。如果使用了獨享調度資源群組,將會產生調度執行個體費用。您可通過任務下發機制對該機制進行瞭解。
步驟七:執行同步任務
進入 介面,找到已建立的同步方案。
單擊操作列的啟動/提交執行按鈕,啟動同步的運行。
單擊操作列的執行詳情,查看任務的詳細執行過程。
後續步驟
完成任務配置後,您可以對已建立的任務進行管理、執行加減表操作,或對任務配置監控警示,並查看任務啟動並執行關鍵計量等。詳情請參見:全增量同步處理任務營運。