您可以通過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值,此操作可能會帶來數據重復問題。
字段映射
設置源端和目標端字段的映射,同步任務會根據字段的映射關系同步數據。
單擊工具欄中的圖標。