原文連結: 當我們在聊「開源大資料排程系統 Taier」的資料開發功能時,到底在討論什麼?
課件獲取:關注公眾號__ “數棧研習社”, 後臺私信 “Taier”__ 獲得直播課件
影片回放:
Taier 開源專案地址: 丨 gitee 喜歡我們的專案給我們點個__ STAR!STAR!!STAR!!!(重要的事情說三遍)__
技術交流釘釘 qun:30537511
本期我們帶大家回顧一下摘月同學的直播分享《Taier 資料開發介紹》
之前三期內容,我們為大家分享了 Taier 入門、控制檯以及 Web 前端架構的介紹。本次分享我們將從 Taier 的資料開發功能,到任務執行、功能可擴充套件點以及未來規劃為大家進行講解。
一、資料開發功能介紹
Taier 是袋鼠雲開源專案之一,是一個分散式視覺化的 DAG 任務排程系統,旨在降低 ETL 開發成本、提高大資料平臺穩定性,Taier 的資料開發功能主要分為以下三種:
1、資源管理
資源管理通常使用在 UDF 等自定義函式的場景中,也可以在任務開發中使用。在 Taier 中,對於函式引用,主要用在 Spark、Flink 自定義函式中,而在任務引用中,則主要用於 Flink 任務。
2、函式管理
自定義函式處理流程如下圖所示:
函式管理在 Taier 中的具體實現主要包括以下兩個方面:
-
基於 calcite 完成不同資料來源 SQL 自定義函式解析
-
使用 SQL 執行前建立臨時函式替代建立永久函式,使函式使用更加靈活
3、任務管理
Taier 現支援任務:Flink SQL、實時採集、資料同步(ChunJun)、Spark SQL、HiveSQL
Taier 中有兩塊區分,分別為叢集和資料開發,如果想在 Taier 中跑一個任務,需要先在叢集中進行配置,具體元件與任務關係如下圖:
二、Taier 任務執行講解
瞭解完 Taier 資料開發的功能介紹後,我們來為大家分享 Taier 的任務執行邏輯。
1、Spark Sql、Hive Sql 臨時執行流程
Spark Sql、Hive Sql 臨時執行流程主要分為任務編寫、SQL 處理、SQL 執行三步,以下圖為 SparkSql 執行流程:
2、Spark Sql 、Hive Sql 執行依賴
Spark Sql 、Hive Sql 執行依賴主要包括以下兩類:
● Sql 解析(基於 calcite 進行)
・Sql Type 解析
・函式、表名解析
● 資料來源外掛
・統一不同資料來源操作入口
・封裝資料來源對應的資料操作方法
三、功能可擴充套件點介紹
當前而言,Taier 中的功能還較為簡單,只開放了主要流程的功能,在開源中還有許多可擴充套件點,接下來為大家介紹 Taier 的功能可擴充套件點。
1、功能擴充套件 —— 資料許可權控制
在 sparkThrift、hiveserver 中去進行 create、insert into、alter、select 時,不同的公司、不同的人有不一樣的資料許可權控制,面對這種情況,可以利用 Apache Ranger 大資料許可權管理框架進行許可權配置。
具體地址為:
github:
2、功能擴充套件 —— 資料血源追蹤
透過 SQL 解析可以得到表和表之間的關係,以及不同表中欄位之間的血源關係。
● 實現工具:calcite
● 可操作任務:SparkSql、HiveSql、資料同步(ChunJun)
用 sql 舉例:
create table zy_0710_1 (id int, name string);
create table zy_0710_2 as select id , name from zy_0710_1;
create table zy_0710_3 as select id , name from zy_0710_2;
四、Taier1.2 嚐鮮
最後為大家介紹未來不久將釋出的 Taier1.2 新版本嚐鮮:
●叢集管理
控制檯 ui 升級
● 資料開發
-
叢集租戶繫結流程簡化
-
任務開發程式碼層面最佳化
-
任務新增 schema 配置
● 新增功能
-
FlinkSql 支援 jar 包方式
-
新增工作流任務
-
自定義擴充套件開發任務
袋鼠雲開源框架釘釘技術交流群(30537511),歡迎對大資料開源專案有興趣的同學加入交流最新技術資訊,開源專案庫地址: