最新2.7版本丨DataPipeline數據融合產品最新版本發佈

數據任務管理.png


此次發佈的2.7版本在進一步優化產品底層數據處理邏輯的同時更加註重提升用戶在數據融合任務的日常管理、運行監控及資源分配等管理方面的功能增強與優化,力求幫助大家更爲直觀、便捷、穩定地管理數據融合任務,提升系統的易用性與穩定性。


一、新增功能


1. 在待處理列表中查看或配置重要任務、故障任務、待完善任務、性能關注任務


功能背景:


對於大多數數據工程師而言,每天需要配置、管理、監控的任務數以百計,任務的重要程度、時效性要求與性能要求也都千差萬別,其中既包括爲線上產品提供實時計算數據的任務,也有數據備份等優先級較低的任務。同時,爲了應對不停變化的市場與業務需求,新的數據融合任務需求也會連續不斷地涌現,數據工程師在保證現有任務穩定運行的同時,還需不斷地新增數據任務。


大量不同類型、不同狀態的任務平鋪在客戶端首頁,導致重要任務難以得到優先關注,待完善任務可能被遺漏,性能較差的任務無法被發現,查找任務、管理任務、處理問題佔用了較多工作時間。


新版本上線後,用戶可以對重要任務添加標識,平臺也會對任務按照重要程度、配置完成情況及運行狀態、運行效率進行評估及管理,用戶可以通過待處理列表非常直觀地看到所關注的重要任務、運行出現問題的故障任務、配置未完成待完善的任務及性能較低需要關注的任務,幫助數據工程師在日常任務監控與新需求處理中提高效率,同時對運行效率有直觀的瞭解,保障業務連續性。


功能詳情:


(1)重要任務


工作事務通常帶有自身的優先級屬性,數據同步任務亦如此。針對重要任務,DataPipeline提供星標設置,於主頁優先展示。用戶可實時關注重要任務狀態,保證重要任務穩定運行。


(2)故障任務


集中展示出現故障的任務,保障問題不被遺漏,任務故障處理全面有序。


(3)非激活狀態


集中展示處於非激活狀態的任務,明確列示需要進一步完善配置或需要修改配置的任務,保證數據工程師的任務配置工作全面有序。


(4)性能關注


性能關注部分會根據系統對任務效率評估分別展示傳輸速率較低的10個批量任務和實時任務,通過查看性能關注,可以及時發現運行狀態不良的任務,提前做出處理,防止由於性能問題導致更嚴重的問題發生。

1.png


2. 可按照項目對任務進行分組管理


功能背景:
DataPipeline在之前的版本中幫助用戶實現了多種來源,不同結構數據的同步處理。但隨着產品不斷被深度使用,系統用戶和數據任務數量的不斷增加,多個項目的數據融合任務混雜在一起,導致任務配置、監控及管理有些不便。


我們瞭解到,一個數據工程師可能同時需要管理多個項目,每個項目可能包含數十個上百個數據融合任務,在不能按照項目對數據融合任務進行分組管理的時候,只能憑藉記憶通過名稱、數據節點等信息進行搜索,耗時費力。


因此,DataPipeline新增了根據項目進行任務分組的功能,用戶可以根據任務所屬項目,對上百個任務進行分組管理,大大提高了效率。


功能詳情:


(1)支持通過自定義創建項目,對任務進行分組;


(2)支持通過勾選任務,改變多個任務的任務分組。



2.png


3. 可以爲任務配置特定資源組


功能背景:

雖然DataPipeline數據融合產品基於並行計算框架,從基礎架構層面支持任務級高可用,但在資源組管理方面一直未對用戶開放,用戶在使用之前版本的DataPipeline時,所有數據任務均在一個默認資源組中運行,無法根據任務的重要程度來分配任務運行資源。


這就要求用戶只能針對重要任務配置單獨的集羣以保證任務的穩定、高效運行。這種方式在實際操作過程中存在很多客觀限制,如系統資源申請困難,成本預算控制等,也給我們的數據工程師用戶們造成了很大的困擾。


因此我們決定在新版本中開放系統資源組配置和分配功能,同時計劃在未來的版本中開放動態資源調配功能。


例如,當前系統資源爲一臺16C64G的服務器,在無法分配資源組時任務運行狀態如下:


3.png


資源組配置開放以後,用戶可以配置一個重要任務資源組和一個一般任務資源組,任務運行狀態如下:


4.png


重要任務相較於其他普通任務雖然啓動時間較晚。但由於被分配在獨立的資源組中,仍然可以保證有足夠的資源保障任務平穩運行。


功能詳情:


(1)資源組配置


在部署DataPipeline時,通過修改配置文件,可以將數據源端/目的地端的服務器資源劃分爲多個資源組,實現業務資源組解耦。


資源組配置文件路徑:
/data/datapipeline/dpconfig/resource_group_config.json


源端與目的地端均有兩個資源組的配置文件,資源組配置文件樣例如下:

6.png


置詳細說明如下:


7.png

注:修改配置文件後需要重啓服務使資源組配置生效

(2)爲任務的讀取與寫入分配資源組

用戶在任務設置過程中可以針對每個任務的數據讀取和數據寫入分別選擇支撐任務運行的資源組。


8.png



二、優化功能


1. 數據傳輸消息隊列粒度拆分優化


功能背景:


DataPipeline爲更好地支持高效數據融合任務,對數據傳輸消息隊列粒度進行了進一步的拆分優化。

功能詳情:


首先,我們來看一下數據在DataPipeline是如何流轉的:

87.png


在此需求的用戶場景中,源端數據節點爲DB1,DB1中包含三張數據表分別爲T1、T2和T3。目的地端數據節點爲DB2,DB2中包含三張數據表分別爲T4、T5和T6。  數據融合要求爲,將T1、T2、T3中的數據進行合併後寫入到T4中,將T2中的數據同步到T5中,將T3中的數據同步到T6中。


在之前的處理邏輯中(如圖1),按照目的地寫入要求的粒度來建立消息隊列,即將T1、T2、T3的數據寫入1個消息隊列進行緩存,也就是圖1中的消息隊列1。

88.png

圖1


該緩存機制可以很好地支持T4的數據同步,由於數據進入了1個消息隊列,所以在同步T5、T6的數據時需要將緩存中的T1、T2、T3數據進行拆分,處理效率較低。

DataPipeline針對數據傳輸中消息隊列緩存粒度進行了拆分優化(如圖2),按照數據源數據表的粒度,進行消息隊列拆分,即將數據源T1、T2、T3的數據分別寫入三個消息隊列進行緩存。

89.png

圖2

同步至T4的數據會讀取T1、T2、T3分別對應的消息隊列,進行合併後寫入合併消息隊列,再供T4對應的消費單元進行消費,同步至T5、T6的任務可以分別讀取T2與T3對應的消息隊列進行數據寫入。


這樣,我們便可同時支持源端多表合一同步與其中一張表的單獨同步。由於拆分多個併發來讀取數據,T2至T5、T3至T6的數據同步速率會明顯提升。而對於將T1、T2、T3的數據進行合併同步至T4的流程,雖然添加了一步消息隊列內部的合併操作,但速率影響較小,可以較好地支持上述場景。


2. 支持在任一數據同步任務中靈活修改數據源/目的地配置信息

通過支持在任一數據同步任務中靈活修改數據源/目的地配置信息,可使數據節點配置在全局生效,提升任務配置效率。


90.png


除數據源/目的地類型之外均可修改,當數據源有其他任務正在運行時不允許修改修改後數據源/目的地節點的配置即全局生效。


三、其他功能增強與問題修復


除上述功能之外,DataPipeline還分別從以下幾方面對產品進行了功能增強與問題修復:

1. 支持對用戶註冊信息中郵箱的修改


2. 爲數據任務頁面複製、編輯、刪除等按鈕添加文字註釋


3. 優化線程實時任務心跳,支撐運維監控


4. 優化元數據查詢SQL和相關邏輯,修復索引查詢


5. Hive數據源重構優化


6. Hive Kerberos的驗證優化


7. 優化由於JDBC連接造成的任務卡頓問題


DataPipeline的每一次版本迭代都凝聚了團隊對企業數據管理需求的深入思考和積極探索,希望在這個特殊時期,新版本能夠切實幫助大家更敏捷高效地融合數據、使用數據、分析數據。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章