熟悉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=https://www.cnblogs.com/DTinsight/p/szbky
同時,歡迎對大資料開源專案有興趣的同學加入「袋鼠云開源框架釘釘技術qun」,交流最新開源技術資訊,qun號碼:30537511,專案地址:https://github.com/DTStack
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/540910.html
標籤:大數據
上一篇:Chapter_4_操作串列
下一篇:MySql索引下推知識分享
