全部產品
Search
文件中心

DataWorks:一鍵即時同步至Elasticsearch

更新時間:Jun 19, 2024

一鍵即時同步至Elasticsearch方案支援全增量一體化同步,先進行全量資料移轉,然後再即時同步增量資料至目標端。本文為您介紹如何建立一鍵即時同步至Elasticsearch任務。

前提條件

  1. 已完成資料來源配置。您需要在Data Integration同步任務配置前,配置好您需要同步的源端和目標端資料庫,以便在同步任務配置過程中,可通過選擇資料來源名稱來控制同步任務的讀取和寫入資料庫。同步任務支援的資料來源及其配置詳情請參見支援的資料來源及同步方案

    說明

    資料來源相關能力介紹詳情請參見:資料來源概述

  2. 已完成資料來源環境準備。您可以基於您需要進行的同步配置,在同步任務執行前,授予資料來源配置的帳號在資料庫進行相應操作的許可權。詳情請參見:資料庫環境準備概述

背景資訊

本方案適用於需要即時監測業務庫資料的更新情況,便於上層應用對即時資料進行檢索分析或資料開發的情境。

方案屬性

說明

可同步的表個數

  • 支援將源端多表資料寫入至目標端多個索引。

  • 支援通過目標索引配置規則實現源端多表資料寫入至目標端指定的某個索引。

工作群組成

當前方案將分別建立用於全量資料初始化的離線同步子任務,和用於增量資料即時同步的Data Integration即時同步子任務,方案產生的離線同步子任務個數與最終讀取的源端表個數有關。

資料寫入

運行同步任務後,產生的離線同步任務將全量資料寫入Elasticsearch,待全量資料執行完成後,啟動即時同步任務,將源端增量資料即時同步至目標端。

操作流程

  1. 步驟一:選擇同步方案

  2. 步驟二:配置網路連通

  3. 步驟三:設定同步來源與規則

  4. 步驟四:設定目標索引

  5. 步驟五:DDL訊息處理規則

  6. 步驟六:運行資源設定

  7. 步驟七:執行同步任務

步驟一:選擇同步方案

建立同步解決方案任務,根據需求選擇需要同步的源端資料來源和目標端資料來源,並選擇一鍵即時同步至Elasticsearch方案。

步驟二:配置網路連通

源端選擇已建立的源端資料來源與目標端資料來源,以及用於執行同步任務的資源群組。並測試資源群組與資料來源的網路連通。詳情請參見:配置同步網路連結

步驟三:設定同步來源與規則

  1. 基本配置地區,配置同步解決方案的名稱、任務存放位置等資訊。

  2. 資料來源地區,確認需要同步的源端資料來源相關資訊。

  3. 選擇同步的源表地區,選中需要同步的源表,單擊表徵圖表徵圖,將其移動至已選源表

    該地區會為您展示所選資料來源下所有的表,您可以選擇整庫全表或部分表進行同步。

  4. 設定表名到索引名的映射規則地區,單擊添加規則,選擇相應的規則進行添加。

    同步時預設將源端資料表寫入Elasticsearch同名索引中,同時,您可以通過添加映射規則定義最終寫入目的端的索引名稱,實現將多張表資料寫入到同一個索引中,或統一將源端某固定首碼的表名在寫入目標索引時更新為其他首碼。支援通過Regex轉換寫入的索引名,還支援使用內建變數拼接目標索引名。配置邏輯請參見:設定同步來源與規則

步驟四:設定目標索引

單擊重新整理源表和Elasticsearch 索引映射將根據您在步驟三配置的設定表名到索引名的映射規則來產生目標索引,若步驟三未配置映射規則,將預設寫入與源表同名的目標索引,若目標端不存在該同名索引,將預設建立。同時,您可以修改索引建立方式。

說明

目標表名將根據您在設定表名到索引名的映射規則階段配置的表名轉換規則自動轉換。

功能

描述

選擇主鍵替代方案

  • 如果來源庫有主鍵,則同步資料時會直接使用該主鍵進行去重。

  • 如果來源庫沒有主鍵,則您需要單擊編輯表徵圖,自訂主鍵,即使用其他非主鍵的一個或幾個欄位的聯合,代替主鍵進行同步資料時進行去重判斷。

選擇索引建立方式

支援自動建索引使用已有索引

  • 索引建立方式選擇自動建索引時,Elasticsearch索引名列顯示自動建立的Elasticsearch索引名。您可以單擊索引名稱,查看和修改索引相關屬性。

  • 索引建立方式選擇使用已有索引時,您可以在Elasticsearch索引名列對應的下拉式清單中選擇需要使用的索引名稱。

編輯目標索引

同步解決方案預設根據源端產生目標索引結構,可能存在欄位類型轉換,即若目標端資料庫中沒有與源端一致的資料類型時,同步任務在自動建立目標索引時,將自動為源端欄位匹配目標端可寫入的欄位類型。支援您單擊Elasticsearch索引名列的目標索引名根據需求修改目標索引的相關參數。

說明

僅在索引建立方式自動建索引時,支援編輯目標索引。

  • 動態映射狀態:用於在同步資料時,是否將資料來源表的新增欄位添加至目標索引中。取值如下:

    • true:當映射的目標索引檢測到同步的資料來源表中存在新添加的欄位時,會將該欄位同步添加至目標索引中,後續該欄位可以被搜尋。該取值為預設值。

    • false:當映射的目標索引檢測到同步的資料來源表中存在新添加的欄位時,會將該欄位同步添加至目標索引中,但後續該欄位不可以被搜尋。

    • strict:當映射的目標索引檢測到同步的資料來源表中存在新添加的欄位時,將拒絕同步該欄位至目標索引併產生異常報錯,您可以在日誌資訊中查看報錯詳情。

    更多動態映射的內容,詳情請參見動態映射

  • shard數量replica數量:索引的主分區及副本分區,用於將一個完整的索引分成多個分區,分布至不同的Elasticsearch節點上,構成分布式搜尋,提升Elasticsearch的查詢效率,詳情請參見基本概念

    說明

    shard數量replica數量參數,配置運行後不可更改,預設取值為1

  • 分區設定:您可以選擇同步的資料來源表的某一列作為分區列,該參數需要和shard數量replica數量配合使用。預設不開啟資料分割函數。

    • 不開啟分區:不填寫該參數,預設使用文檔的_id作為routing起到將文檔均勻分布到多個分區上防止資料扭曲的作用。

    • 開啟分區:把指定列的value指定為routing的值,在寫入時,插入或更新指定shard中的doc。

  • 資料欄位結構:用於設定映射的目標索引中欄位的類型及擴充屬性,詳情請參見Elasticsearch的欄位類型

配置目標索引參數

說明

當建立了目標Elasticsearch索引後,如果不修改相關參數,則系統會按照預設值的相應規則進行資料同步。

步驟五:DDL訊息處理規則

來來源資料源會包含許多DDL操作,Data Integration體提供預設處理策略,您也可以根據業務需求,對不同的DDL訊息設定同步至目標端的處理策略。不同DDL訊息處理策略請參見:DDL訊息處理規則

步驟六:運行資源設定

當前方案建立後將分別產生全量資料離線同步子任務和增量資料即時同步子任務。您需要在運行資源設定介面配置離線同步任務和即時同步任務的相關屬性。

包括即時增量同步處理及離線全量同步使用的獨享Data Integration資源群組、離線全量同步使用的調度資源群組,同時,單擊進階配置可配置是否容忍髒資料、任務最大並發數、源庫允許支援的最大串連數等參數。

說明
  • DataWorks的離線同步任務通過調度資源群組將其下發到Data Integration任務執行資源組上執行,所以離線同步任務除了涉及Data Integration任務執行資源組外,還會佔用調度資源群組資源。如果使用了獨享調度資源群組,將會產生調度執行個體費用。您可通過任務下發機制對該機制進行瞭解。

  • 離線和即時同步任務推薦使用不同的資源群組,以便任務分開執行。如果選擇同一個資源群組,任務混跑會帶來資源搶佔、運行態互相影響等問題。例如,CPU、記憶體、網路等互相影響,可能會導致離線任務變慢或即時任務延遲等問題,甚至在資源不足的極端情況下,可能會出現任務被OOM KILLER殺掉等問題。

步驟七:執行同步任務

  1. 進入Data Integration > 同步任務介面,找到已建立的同步方案。

  2. 單擊操作列的啟動/提交執行按鈕,啟動同步的運行。

  3. 單擊操作列的執行詳情,查看任務的詳細執行過程。

後續步驟

完成任務配置後,您可以對已建立的任務進行管理、執行加減表操作,或對任務配置監控警示,並查看任務啟動並執行關鍵計量等。詳情請參見:全增量同步處理任務營運