DAG任務排程系統 Taier 演進之道,探究DataSourceX 模組
熟悉Taier的小夥伴們應該都知道,在11月7日釋出的Taier1.3新版本中,我們融合了「DataSourceX 模組」。這是十分重要的一個變化,移除Taier外部外掛依賴,新增資料來源外掛相關特性,支援後續Taier對接更多的RDBMS型別的SQL任務。
本篇文章,就帶大家詳細瞭解一下DataSourceX 的作用及設計。
DataSourceX 模組的作用
為什麼說 DataSourceX 是一個非常重要的模組?
在 Taier 中 RDB SQL 任務的執行,嚮導模式的資料同步、實時採集、FlinkSQL 任務配置都是依託資料來源來進行的,其中保證資料來源的正常使用以及 RDB SQL執行、任務所需的庫、表、欄位等資訊的獲取都是依靠 DataSourceX 模組來做的。
下文展開聊聊Taier-DataSourceX 模組的具體功能。
資料來源中心新增資料來源
資料來源中心新增資料來源時需要進行資料來源連通性檢測,確保資料來源是真正可用的,具體就是通過呼叫 DataSourceX 模組來實現。連通性檢測通過之後,可以進行資料來源的儲存,並在任務中進行引用。
資料同步任務-資料來源配置
資料同步任務源表結果表配置中的表、欄位等資訊都是通過 DataSourceX 模組進行獲取。
FlinkSQL任務-資料來源配置
FlinkSQL 中源表 topic 獲取、資料預覽等,結果表維表字段、資料預覽等都是通過 DataSourceX 模組進行實現。
RDB SQL執行
Taier 1.3版本中,RDB SQL任務和資料來源進行了繫結,不需要再像之前一樣在控制檯配置計算引擎,DataSourceX 中支援的RDB資料來源都可以做RDB SQL的執行,比如像 OceanBase SQL 就可以通過 DataSourceX 模組來執行。
On Yarn任務日誌
On Yarn 任務執行結束的聚合日誌通過 DataSourceX 模組進行獲取。
Taier-DataSourceX 其他功能
• Taier-DataSourceX 模組統一了各種資料來源間的相同操作,提供了一組相同的介面來對不同的資料來源進行操作,使得 Taier 可以更輕鬆的整合不同的資料來源,支援更多的 RDB SQL 和資料來源
• Taier-DataSourceX 模組支援幾十種 RDB 資料來源並支援開啟池化管理,支援 hdfs、ftp、s3 等儲存元件,支援 mongoDB、es、redis 等非關係型資料庫
• Taier-DataSourceX 模組本身支援並統一了 kerberos 認證邏輯,對於支援開啟 kerberos 認證的資料來源,Taier 本身並不關心底層的實現邏輯,而是交由 DataSourceX 模組來完成
• Taier-DataSourceX 模組基於 ChildFirstClassLoader 並結合 SPI 支援在同一個應用中對接不同版本的資料來源,如 Taier 可以同時支援 Hive1.x、Hive2.x、Hive3.x 三種不同版本的 Hive
DataSourceX 模組的設計
瞭解完 DataSourceX 的豐富功能之後,接下來帶大家瞭解Taier-DataSourceX 模組的設計。
統一的 Client 介面
Taier-DataSourceX-api 模組定義了 SPI 服務介面,具體實現由 Taier-DataSourceX-plugin 來完成。
外掛隔離載入
Taier-DataSourceX 會對每一個型別的資料來源模組打包成一個單獨的 jar 並放到指定目錄。
Taier-DataSourceX-api 模組為每個外掛包初始化一個 ChildFirstClassloader 隔離載入不同的資料來源實現物件,解決多版本驅動同時載入的類衝突問題。
Client 物件統一代理
Taier-DataSourceX 模組載入的 Client 物件是通過動態代理生成的代理物件,方便進行統一的異常處理、重試、超時、上下文 Classloader 的切換等處理。
連線池化管理
Taier-DataSourceX 模組針對 RDB 資料來源或其他資料來源進行的統一池化管理,支援開啟連線池,為相同的資料來源初始化一個連線池,控制資源使用和提升程式執行效率。
針對不開啟連線池的連線進行統一管理,及時清理過期連線。
資源的統一管理
Taier-DataSourceX 模組針對初始化的 Classloader、Client 物件、執行執行緒池進行統一管理,在外掛包變更、新增、刪除時動態檢測並銷燬或新增資源。
Taier 1.3 新版本
Taier自今年2月份開源之後,得到了社群開發者的廣泛支援,我們積極吸收社群開發者的意見建議,不斷迭代版本,已於11月7日釋出了全新的1.3 版本,進行了多項功能改動。
技術改造
• DataSourceX 融合
• 部署優化
資料開發
• 任務支援指定佇列執行
• 任務資料來源繫結
新增功能
• 新增Flink Standalone
• 新增Python、Shell任務,新增ClickHouse、Doris SQL任務
視訊回放&PPT獲取
視訊回看:
https://www.bilibili.com/video/BV1wW4y1T7EC/?spm_id_from=333.337.search-card.all.click
課件獲取:
關注公眾號“數棧研習社”,後臺私信“Taier”獲得直播課件
想了解或諮詢更多有關袋鼠雲大資料產品、行業解決方案、客戶案例的朋友,瀏覽袋鼠雲官網:https://www.dtstack.com/?src=szkyzg
同時,歡迎對大資料開源專案有興趣的同學加入「袋鼠雲開源框架釘釘技術qun」,交流最新開源技術資訊,qun號碼:30537511,專案地址:https://github.com/DTStack
- 從5分鐘到60秒,袋鼠雲數棧在熱重啟技術上的提效探索之路
- 詳細剖析|袋鼠雲數棧前端框架Antd 3.x 升級 4.x 的踩坑之路
- Teradata在華落幕,國產化崛起,袋鼠雲數棧會是更好的選擇嗎?
- 大資料應用場景下,標籤策略如何實現價值最大化?
- 袋鼠雲數棧UI5.0煥新升級,全新設計語言DT Design,更懂視覺更懂你!
- 一看就懂!任務提交的資源判斷在Taier中的實踐
- 看這篇就夠了丨基於Calcite框架的SQL語法擴充套件探索
- 無監控,不運維!深入淺出介紹ChengYing監控設計和使用
- DAG任務排程系統 Taier 演進之道,探究DataSourceX 模組
- 數字孿生賦能智慧港口解決方案,助力港口數字化轉型
- Iceberg在袋鼠雲的探索及實踐
- Kerberos身份驗證在ChunJun中的落地實踐
- 從資料治理到資料應用,製造業企業如何突破數字化轉型困境丨行業方案
- 行業方案 | 新規落地,企業集團財務公司如何構建數智財務體系?
- 資料安全新戰場,EasyMR為企業築起“安全防線”
- ChunJun框架在資料還原上的探索和實踐 | Hadoop Meetup精彩回顧
- 開源直播課丨大資料整合框架ChunJun類載入器隔離方案探索及實踐
- 啟用資料價值,探究DataOps下的資料架構及其實踐丨DTVision開發治理篇
- 實用五步法教會你指標體系的設計與加工
- 他來了!袋鼠雲大資料基礎平臺EasyMR正式上線