DAG任務排程系統 Taier 演進之道,探究DataSourceX 模組
熟悉Taier的小夥伴們應該都知道,在11月7日釋出的 中,我們融合了「DataSourceX 模組」。這是十分重要的一個變化,移除Taier外部外掛依賴,新增資料來源外掛相關特性,支援後續Taier對接更多的RDBMS型別的SQL任務。
本篇文章,就帶大家詳細瞭解一下DataSourceX 的作用及設計。
DataSourceX 模組的作用
為什麼說 DataSourceX 是一個非常重要的模組?
在 Taier 中 RDB SQL 任務的執行,嚮導模式的資料同步、實時採集、FlinkSQL 任務配置都是依託資料來源來進行的,其中保證資料來源的正常使用以及 RDB SQL執行、任務所需的庫、表、欄位等資訊的獲取都是依靠 來做的。
下文展開聊聊Taier-DataSourceX 模組的具體功能。
資料來源中心新增資料來源
新增資料來源時需要進行資料來源連通性檢測,確保資料來源是真正可用的,具體就是透過呼叫 DataSourceX 模組來實現。連通性檢測透過之後,可以進行資料來源的儲存,並在任務中進行引用。
資料同步任務-資料來源配置
資料同步任務源表結果表配置中的表、欄位等資訊都是透過 DataSourceX 模組進行獲取。
FlinkSQL任務-資料來源配置
FlinkSQL 中源表 topic 獲取、資料預覽等,結果表維表欄位、 等都是透過 DataSourceX 模組進行實現。
RDB SQL執行
Taier 1.3版本中,RDB SQL任務和資料來源進行了繫結,不需要再像之前一樣在控制檯配置計算引擎,DataSourceX 中支援的 都可以做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 認證的資料來源,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 會對每一個型別的資料來源模組打包成一個單獨的 jar 並放到指定目錄。
Taier-DataSourceX-api 模組為每個外掛包初始化一個 ChildFirstClassloader 隔離載入不同的資料來源實現物件,解決多版本驅動同時載入的類衝突問題。
Client 物件統一代理
Taier-DataSourceX 模組載入的 Client 物件是 ,方便進行統一的異常處理、重試、超時、上下文 Classloader 的切換等處理。
連線池化管理
Taier-DataSourceX 模組針對 RDB 資料來源或其他資料來源進行的 ,支援開啟連線池,為相同的資料來源初始化一個連線池,控制資源使用和提升程式執行效率。
針對不開啟連線池的連線進行統一管理,及時清理過期連線。
資源的統一管理
Taier-DataSourceX 模組針對初始化的 Classloader、Client 物件、執行執行緒池進行統一管理,在外掛包變更、新增、刪除時動態檢測並銷燬或新增資源。
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 開源公開課丨大資料排程系統 Taier 任務排程介紹大資料AI
- Python任務排程模組APSchedulerPython
- 新起點!大資料分散式視覺化的 DAG 任務排程系統 Taier 正式釋出1.4版本大資料分散式視覺化AI
- 基於Hyperf開發的任務排程系統.支援任務投遞,DAG任務編排(多個任務使用同一個事務).
- Apache DolphinScheduler大規模任務排程系統對大資料實時Flink任務支援Apache大資料
- 詳解BI系統中的任務排程
- 任務排程
- Javascript模組化的演進歷程JavaScript
- 分散式任務排程系統設計小結分散式
- 進擊的 Kubernetes 排程系統(二):支援批任務的 Coscheduling/Gang scheduling
- Airflow 任務排程AI
- Laravel 任務排程Laravel
- 系統架構設計之-任務排程系統的設計架構
- OPPO大資料離線任務排程系統OFLOW大資料
- 開源分散式任務排程系統就選:DolphinScheduler分散式
- 『學了就忘』Linux系統定時任務 — 89、任務排程工具anacronLinux
- 開源大資料排程系統 Taier 技術公開課 ——Taier 資料開發介紹大資料AI
- Spring Boot應用中進行任務排程Spring Boot
- 分散式任務排程分散式
- Spring 指南(排程任務)Spring
- Spark中資源排程和任務排程Spark
- Timer和TimerTask 任務排程
- 聊聊PowerJob的任務排程
- Linux 定時任務排程Linux
- 分散式排程任務-ElasticJob分散式AST
- LeetCode 621 任務排程器LeetCode
- 深入探究ES6之模組系統
- laravel框架任務排程(定時執行任務)Laravel框架
- 分散式系統架構之構建你的任務排程中心分散式架構
- Easy Scheduler 1.0.2 釋出,分散式工作流任務排程系統分散式
- LTS分散式任務排程部署分散式
- 海豚排程調優 | 正在執行的工作流(DAG)如何重新拉起失敗的任務(Task)
- 淺談分散式任務排程系統Celery的設計與實現分散式
- 實現一個任務排程系統,看這篇文章就夠了
- LiteOS-任務篇-原始碼分析-任務排程函式原始碼函式
- Spring排程定時任務的方式Spring
- Android 中的定時任務排程Android
- 力扣-621. 任務排程器力扣