DAG任務調度系統 Taier 演進之道,探究DataSourceX 模塊

来源:https://www.cnblogs.com/DTinsight/archive/2022/12/28/17009522.html
-Advertisement-
Play Games

熟悉Taier的小伙伴們應該都知道,在11月7日發佈的Taier1.3新版本中,我們融合了「DataSourceX 模塊」。這是十分重要的一個變化,移除Taier外部插件依賴,新增數據源插件相關特性,支持後續Taier對接更多的RDBMS類型的SQL任務。 本篇文章,就帶大家詳細瞭解一下DataSo ...


熟悉Taier的小伙伴們應該都知道,在11月7日發佈的Taier1.3新版本中,我們融合了「DataSourceX 模塊」。這是十分重要的一個變化,移除Taier外部插件依賴,新增數據源插件相關特性,支持後續Taier對接更多的RDBMS類型的SQL任務。

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

DataSourceX 模塊的作用

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

在 Taier 中 RDB SQL 任務的運行,嚮導模式的數據同步、實時採集、FlinkSQL 任務配置都是依托數據源來進行的,其中保證數據源的正常使用以及 RDB SQL運行、任務所需的庫、表、欄位等信息的獲取都是依靠 DataSourceX 模塊來做的。

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

數據源中心添加數據源

數據源中心添加數據源時需要進行數據源連通性檢測,確保數據源是真正可用的,具體就是通過調用 DataSourceX 模塊來實現。連通性檢測通過之後,可以進行數據源的保存,併在任務中進行引用。

file
file

數據同步任務-數據源配置

數據同步任務源表結果表配置中的表、欄位等信息都是通過 DataSourceX 模塊進行獲取。

file
file

FlinkSQL任務-數據源配置

FlinkSQL 中源表 topic 獲取、數據預覽等,結果表維表欄位、數據預覽等都是通過 DataSourceX 模塊進行實現。

file
file
file

RDB SQL運行

Taier 1.3版本中,RDB SQL任務和數據源進行了綁定,不需要再像之前一樣在控制台配置計算引擎,DataSourceX 中支持的RDB數據源都可以做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 認證邏輯,對於支持開啟 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 來完成。

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日發佈了全新的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=szbky

同時,歡迎對大數據開源項目有興趣的同學加入「袋鼠雲開源框架釘釘技術qun」,交流最新開源技術信息,qun號碼:30537511,項目地址:https://github.com/DTStack


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 摘要:命令模式可將請求轉換為一個包含與請求相關的所有信息的對象, 它能將請求參數化、延遲執行、實現 Undo / Redo 操作等。 本文分享自華為雲社區《【Go實現】實踐GoF的23種設計模式:命令模式》,作者:元閏子。 簡介 現在的軟體系統往往是分層設計。在業務層執行一次請求時,我們很清楚請求的 ...
  • 在 C++98/03 中,對象初始化方法有很多種,如下代碼所示: //初始化列表 int i_arr[3] = { 1, 2, 3 }; //普通數組 struct A { int x; struct B { int i; int j; } b; } a = { 1, { 2, 3 } }; //P ...
  • 前情提示WiFi釣魚用kali首先你需要一個適配kali的無線網卡這點很重要 我買的這個(絕對沒有恰爛錢,畢竟人家也不給我錢,網店叫“深圳浠創科技”還有其他款式可以問客服買其他型號網卡,建議問清楚再買) 【淘寶】https://m.tb.cn/h.UQKZw5H?tk=mBqWd4TxCn5 CZ0 ...
  • 痞子衡嵌入式半月刊: 第 69 期 這裡分享嵌入式領域有用有趣的項目/工具以及一些熱點新聞,農曆年分二十四節氣,希望在每個交節之日準時發佈一期。 本期刊是開源項目(GitHub: JayHeng/pzh-mcu-bi-weekly),歡迎提交 issue,投稿或推薦你知道的嵌入式那些事兒。 上期回顧 ...
  • 問題描述: 在連接Linux虛擬機與MobaXterm時遇到問題,在Linux虛擬機中無法使用ifconfig命令查詢當前的IP地址。 出現問題的原因可能是:下載的鏡像為min鏡像,可能不包含ifconfig命令,需要下載命令包。而使用yum下載時又繼續出現問題。此時懷疑該虛擬機存在網路問題,嘗試使 ...
  • 交叉編譯esp8089 編譯環境: 硬體:全志R528 ubuntu:Linux ubuntu 4.15.0-194-generic #205-Ubuntu SMP Fri Sep 16 19:49:27 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux 內核:tina ...
  • 摘要:不知道大家在生活中有沒有見過一些非常酷炫的可視化大屏應用? 本文分享自華為雲社區《老闆要的物聯網可視化大屏,我30分鐘就搞定了》,作者:華為雲社區精選 。 不知道大家在生活中有沒有見過一些非常酷炫的可視化大屏應用? 隨著數字化經濟的發展,我們對數據的呈現形式要求也越來越高,很多老闆動不動就讓我 ...
  • 摘要:為了持續打造核心競爭力,英克康健聯合華為雲,基於雲資料庫RDS for PostgreSQL全新打造了一個高性能、大容量、高可用的SaaS醫葯管理系統,助力萬千藥企業務邁上新臺階。 乘借數字化東風,醫葯行業呈現出一片欣欣向榮之景。作為一家高新技術企業,北京英克康健科技有限公司(簡稱“英克康健” ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...