您可以通過Elasticsearch的即時寫入能力,構建即時數倉。
前提條件
配置Elasticsearch輸出節點前,您需要先配置好相應的輸入或轉換資料來源,詳情請參見即時同步支援的資料來源。
使用限制
DataWorks平台目前僅支援配置Elasticsearch5.x、6.x、7.x版本資料來源,不支援配置自建Elasticsearch資料來源。
操作步驟
進入資料開發頁面。
登入DataWorks控制台。
在左側導覽列,單擊工作空間列表。
選擇工作空間所在地區後,單擊相應工作空間後的 。
滑鼠移至上方至表徵圖,單擊 。
您也可以展開商務程序,按右鍵目標商務程序,選擇
。在建立節點對話方塊中,選擇同步方式為單表(Topic)到單表(Topic)ETL,輸入名稱,並選擇路徑。
重要節點名稱必須是大小寫字母、中文、數字、底線(_)以及英文句號(.),且不能超過128個字元。
單擊確認。
在即時同步節點的編輯頁面,單擊 並拖拽至編輯面板,連線已配置好的輸入或轉換節點。
單擊Elasticsearch節點,在節點配置對話方塊中,配置各項參數。
參數
描述
資料來源
選擇已經配置好的Elasticsearch資料來源,此處僅支援Elasticsearch資料來源。
如果您未配置資料來源,請單擊右側的建立資料來源,進入配置Elasticsearch資料來源。
頁面建立,詳情請參見索引
選擇當前資料來源下需要同步的索引名稱。
您可以單擊右側的一鍵建索引建立索引,可以直接使用預設產生的索引資訊進行建立索引,也可以修改索引名、索引類型、動態參數映射、分區數、副本數以及建索引的語句,然後進行建立索引。
索引類型:在Elasticsearch7.x以上版本是沒有的,5.x,6.x以及其他更低版本是支援索引類型的,可以自訂配置。
動態映射狀態:配置的是Elasticsearch索引根目錄的參數dynamic的值,dynamic含義是Elasticsearch動態加欄位,Elasticsearch做自動類型推導。
版本低於7.10時,取值包括:true、false、strict。
7.10以上版本時,取值包括:true、false、strict、runtime。
其中。
true表示可以被儲存且被索引到。
false表示可以被儲存但是不能被索引到
strict表示新的欄位出現,拋異常,不儲存
runtime表示新欄位加入到運行時欄位中,欄位不會被索引。
詳情可參見dynamic。
shard數量:shard數量代表索引分區,Elasticsearch可以把一個完整的索引分成多個分區,這樣可以把一個大的索引拆分成多個,分布到不同的節點上,構成分布式搜尋。分區的數量只能在索引建立前指定,並且索引建立後不能更改。詳情可參見基本概念。
replica數量:replica數量是shard的資料副本,負責容錯,以及承擔讀請求負載。容量不夠、資料不需要備份多份、寫入效能不夠的時候,replica預設就設成1。
建索引語句:properties裡面是欄位的配置,可以自訂修改欄位的類型。
開啟Elasticsearch分區
Elasticsearch的routing分區機制是否開啟,routing是一個可變值,預設是文檔的_id ,也可以設定成一個自訂的值。routing通過hash函數產生一個數字,根據主分區的數量取餘最終獲得文檔所在分區的位置。
主鍵設定
設定同步時Elasticsearch index上_id的取值方式。
業務主鍵:將源頭表中一個列作為主鍵。
聯合主鍵:將源頭表中多個列合并起來作為主鍵。
說明選擇_id主鍵取值方式,但卻沒有為該Elasticsearch主鍵映射源端欄位,即選擇業務主鍵取值方式但源端不存在主鍵,選擇聯合主鍵取值方式後未配置主鍵列,此時主鍵設定的取值方式不生效,同步時將隨機產生_id值,此操作可能會帶來資料重複問題。
欄位對應
設定源端和目標端欄位的映射,同步任務會根據欄位的映射關係同步資料。
單擊工具列中的表徵圖。