DAG任務排程系統 Taier 演進之道,探究DataSourceX 模組

數棧DTinsight發表於2022-12-28

熟悉Taier的小夥伴們應該都知道,在11月7日釋出的 中,我們融合了「DataSourceX 模組」。這是十分重要的一個變化,移除Taier外部外掛依賴,新增資料來源外掛相關特性,支援後續Taier對接更多的RDBMS型別的SQL任務。

本篇文章,就帶大家詳細瞭解一下DataSourceX 的作用及設計。

DataSourceX 模組的作用

為什麼說 DataSourceX 是一個非常重要的模組?

在 Taier 中 RDB SQL 任務的執行,嚮導模式的資料同步、實時採集、FlinkSQL 任務配置都是依託資料來源來進行的,其中保證資料來源的正常使用以及 RDB SQL執行、任務所需的庫、表、欄位等資訊的獲取都是依靠 來做的。

下文展開聊聊Taier-DataSourceX 模組的具體功能。

資料來源中心新增資料來源

新增資料來源時需要進行資料來源連通性檢測,確保資料來源是真正可用的,具體就是透過呼叫 DataSourceX 模組來實現。連通性檢測透過之後,可以進行資料來源的儲存,並在任務中進行引用。

file file

資料同步任務-資料來源配置

資料同步任務源表結果表配置中的表、欄位等資訊都是透過 DataSourceX 模組進行獲取。

file file

FlinkSQL任務-資料來源配置

FlinkSQL 中源表 topic 獲取、資料預覽等,結果表維表欄位、 等都是透過 DataSourceX 模組進行實現。

file file file

RDB SQL執行

Taier 1.3版本中,RDB SQL任務和資料來源進行了繫結,不需要再像之前一樣在控制檯配置計算引擎,DataSourceX 中支援的 都可以做RDB SQL的執行,比如像 OceanBase SQL 就可以透過 DataSourceX 模組來執行。

file

On Yarn任務日誌

On Yarn 任務執行結束的聚合日誌透過 DataSourceX 模組進行獲取。

file

Taier-DataSourceX 其他功能

• Taier-DataSourceX 模組統一了各種資料來源間的相同操作,提供了一組相同的介面來對不同的資料來源進行操作,使得 Taier 可以更輕鬆的 ,支援更多的 RDB SQL 和資料來源

• Taier-DataSourceX 模組支援幾十種 RDB 資料來源並支援開啟池化管理,支援 hdfs、ftp、s3 等儲存元件,支援 mongoDB、es、redis 等非關係型資料庫

• Taier-DataSourceX 模組本身支援並統一了 ,對於支援開啟 kerberos 認證的資料來源,Taier 本身並不關心底層的實現邏輯,而是交由 DataSourceX 模組來完成

• Taier-DataSourceX 模組基於 ChildFirstClassLoader 並結合 SPI 支援在同一個應用中對接不同版本的資料來源,如 Taier 可以同時支援 Hive1.x、Hive2.x、Hive3.x 三種不同版本的 Hive

DataSourceX 模組的設計

瞭解完 DataSourceX 的豐富功能之後,接下來帶大家瞭解Taier-DataSourceX 模組的設計。

統一的 Client 介面

Taier-DataSourceX-api 模組定義了 SPI 服務介面,具體實現由 來完成。

file

外掛隔離載入

Taier-DataSourceX 會對每一個型別的資料來源模組打包成一個單獨的 jar 並放到指定目錄。

Taier-DataSourceX-api 模組為每個外掛包初始化一個 ChildFirstClassloader 隔離載入不同的資料來源實現物件,解決多版本驅動同時載入的類衝突問題。

file

Client 物件統一代理

Taier-DataSourceX 模組載入的 Client 物件是 ,方便進行統一的異常處理、重試、超時、上下文 Classloader 的切換等處理。

file

連線池化管理

Taier-DataSourceX 模組針對 RDB 資料來源或其他資料來源進行的 ,支援開啟連線池,為相同的資料來源初始化一個連線池,控制資源使用和提升程式執行效率。

針對不開啟連線池的連線進行統一管理,及時清理過期連線。

file

資源的統一管理

Taier-DataSourceX 模組針對初始化的 Classloader、Client 物件、執行執行緒池進行統一管理,在外掛包變更、新增、刪除時動態檢測並銷燬或新增資源。

file

Taier 1.3 新版本

Taier自今年2月份開源之後,得到了社群開發者的廣泛支援,我們積極吸收社群開發者的意見建議,不斷迭代版本,已於11月7日釋出了 ,進行了多項功能改動。

技術改造

• DataSourceX 融合

• 部署最佳化

資料開發

• 任務支援指定佇列執行

• 任務資料來源繫結

新增功能

• 新增Flink Standalone

• 新增Python、Shell任務,新增ClickHouse、Doris SQL任務

影片回放&PPT獲取

影片回看:

課件獲取:

關注公眾號“數棧研習社”,後臺私信“Taier”獲得直播課件


想了解更多有關袋鼠雲大資料產品、行業解決方案、客戶案例的朋友,瀏覽袋鼠雲官網:https://www.dtstack.com/?src=szitpub

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69995740/viewspace-2929794/,如需轉載,請註明出處,否則將追究法律責任。

相關文章