當(dāng)我們?cè)诹摹搁_源大數(shù)據(jù)調(diào)度系統(tǒng)Taier」的數(shù)據(jù)開發(fā)功能時(shí),到底在討論什么?
之前三期內(nèi)容,我們?yōu)榇蠹曳窒砹薚aier入門、控制臺(tái)以及Web前端架構(gòu)的介紹。本次分享我們將從Taier的數(shù)據(jù)開發(fā)功能,到任務(wù)運(yùn)行、功能可擴(kuò)展點(diǎn)以及未來規(guī)劃為大家進(jìn)行講解。

數(shù)據(jù)開發(fā)功能介紹
Taier 是袋鼠云開源項(xiàng)目之一,是一個(gè)分布式可視化的DAG任務(wù)調(diào)度系統(tǒng),旨在降低ETL開發(fā)成本、提高大數(shù)據(jù)平臺(tái)穩(wěn)定性,Taier的數(shù)據(jù)開發(fā)功能主要分為以下三種:
01
資源管理
資源管理通常使用在UDF等自定義函數(shù)的場(chǎng)景中,也可以在任務(wù)開發(fā)中使用。在Taier中,對(duì)于函數(shù)引用,主要用在Spark、Flink自定義函數(shù)中,而在任務(wù)引用中,則主要用于Flink任務(wù)。

02
函數(shù)管理
自定義函數(shù)處理流程如下圖所示:
函數(shù)管理在Taier中的具體實(shí)現(xiàn)主要包括以下兩個(gè)方面:
1. 基于calcite完成不同數(shù)據(jù)源SQL自定義函數(shù)解析
2. 使用SQL運(yùn)行前創(chuàng)建臨時(shí)函數(shù)替代創(chuàng)建永久函數(shù),使函數(shù)使用更加靈活
03
任務(wù)管理
Taier現(xiàn)支持任務(wù):Flink SQL、實(shí)時(shí)采集、數(shù)據(jù)同步(ChunJun)、Spark SQL、HiveSQL
Taier中有兩塊區(qū)分,分別為集群和數(shù)據(jù)開發(fā),如果想在Taier中跑一個(gè)任務(wù),需要先在集群中進(jìn)行配置,具體組件與任務(wù)關(guān)系如下圖:


Taier任務(wù)運(yùn)行講解
了解完Taier數(shù)據(jù)開發(fā)的功能介紹后,我們來為大家分享Taier的任務(wù)運(yùn)行邏輯。
01
Spark Sql、Hive Sql臨時(shí)運(yùn)行流程
Spark Sql、Hive Sql 臨時(shí)運(yùn)行流程主要分為任務(wù)編寫、SQL處理、SQL執(zhí)行三步,以下圖為SparkSql執(zhí)行流程:

02
Spark Sql 、Hive Sql 運(yùn)行依賴
Spark Sql 、Hive Sql 運(yùn)行依賴主要包括以下兩類:
●?Sql解析(基于calcite進(jìn)行)
·?Sql Type 解析
·?函數(shù)、表名解析
●?數(shù)據(jù)源插件
·?統(tǒng)一不同數(shù)據(jù)源操作入口
·?封裝數(shù)據(jù)源對(duì)應(yīng)的數(shù)據(jù)操作方法

功能可擴(kuò)展點(diǎn)介紹
當(dāng)前而言,Taier中的功能還較為簡(jiǎn)單,只開放了主要流程的功能,在開源中還有許多可擴(kuò)展點(diǎn),接下來為大家介紹Taier的功能可擴(kuò)展點(diǎn)。
01
功能擴(kuò)展——數(shù)據(jù)權(quán)限控制
在sparkThrift、hiveserver中去進(jìn)行create、insert into、alter、select時(shí),不同的公司、不同的人有不一樣的數(shù)據(jù)權(quán)限控制,面對(duì)這種情況,可以利用Apache Ranger大數(shù)據(jù)權(quán)限管理框架進(jìn)行權(quán)限配置。
具體地址為:
github:https://github.com/ranger/ranger
02
功能擴(kuò)展——數(shù)據(jù)血源追蹤
通過SQL解析可以得到表和表之間的關(guān)系,以及不同表中字段之間的血源關(guān)系。
●?實(shí)現(xiàn)工具:calcite
●?可操作任務(wù):SparkSql、HiveSql、數(shù)據(jù)同步(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嘗鮮
最后為大家介紹未來不久將發(fā)布的Taier1.2新版本嘗鮮:
●集群管理
控制臺(tái)ui升級(jí)
●?數(shù)據(jù)開發(fā)
1. 集群租戶綁定流程簡(jiǎn)化
2. 任務(wù)開發(fā)代碼層面優(yōu)化
3. 任務(wù)新增schema配置
●?新增功能
1. FlinkSql支持jar包方式
2. 新增工作流任務(wù)
3. 自定義擴(kuò)展開發(fā)任務(wù)