博客 当我们在聊「开源大数据调度系统Taier」的数据开发功能时,到底在讨论什么?

当我们在聊「开源大数据调度系统Taier」的数据开发功能时,到底在讨论什么?

   数栈君   发表于 2022-07-27 10:37  518  0

之前三期内容,我们为大家分享了Taier入门、控制台以及Web前端架构的介绍。本次分享我们将从Taier的数据开发功能,到任务运行、功能可扩展点以及未来规划为大家进行讲解。


http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/26ce3e3ebaf51cedc9369f2d6a06a250..jpg

数据开发功能介绍


Taier 是袋鼠云开源项目之一,是一个分布式可视化的DAG任务调度系统,旨在降低ETL开发成本、提高大数据平台稳定性,Taier的数据开发功能主要分为以下三种:

01

资源管理

资源管理通常使用在UDF等自定义函数的场景中,也可以在任务开发中使用。在Taier中,对于函数引用,主要用在Spark、Flink自定义函数中,而在任务引用中,则主要用于Flink任务

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/7acfd5ef93157ddf16585d5b7aeaa77a..jpg

02

函数管理

自定义函数处理流程如下图所示:

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/fb354ea1e926c2fa2106e90d1d3795fb..jpg

函数管理在Taier中的具体实现主要包括以下两个方面:

1. 基于calcite完成不同数据源SQL自定义函数解析

2. 使用SQL运行前创建临时函数替代创建永久函数,使函数使用更加灵活

03

任务管理

Taier现支持任务:Flink SQL、实时采集、数据同步(ChunJun)、Spark SQL、HiveSQL


Taier中有两块区分,分别为集群和数据开发,如果想在Taier中跑一个任务,需要先在集群中进行配置,具体组件与任务关系如下图:

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/8e71d4ccb0d5b5780575074bdda41c4a..jpg


http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/cf69d8978bb0372e246e86f5be149445..jpg

Taier任务运行讲解


了解完Taier数据开发的功能介绍后,我们来为大家分享Taier的任务运行逻辑。

01

Spark Sql、Hive Sql临时运行流程

Spark Sql、Hive Sql 临时运行流程主要分为任务编写、SQL处理、SQL执行三步,以下图为SparkSql执行流程

02

Spark Sql 、Hive Sql 运行依赖

Spark Sql 、Hive Sql 运行依赖主要包括以下两类:


● Sql解析(基于calcite进行)

· Sql Type 解析

· 函数、表名解析

● 数据源插件

· 统一不同数据源操作入口

· 封装数据源对应的数据操作方法


功能可扩展点介绍


当前而言,Taier中的功能还较为简单,只开放了主要流程的功能,在开源中还有许多可扩展点,接下来为大家介绍Taier的功能可扩展点。

01

功能扩展——数据权限控制

在sparkThrift、hiveserver中去进行create、insert into、alter、select时,不同的公司、不同的人有不一样的数据权限控制,面对这种情况,可以利用Apache Ranger大数据权限管理框架进行权限配置。


具体地址为:

github:https://github.com/ranger/ranger

02

功能扩展——数据血源追踪

通过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;

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/754db6a21835a126f0d91e6c175759c6..jpg


Taier1.2尝鲜


最后为大家介绍未来不久将发布的Taier1.2新版本尝鲜:

●集群管理

控制台ui升级

● 数据开发

1. 集群租户绑定流程简化

2. 任务开发代码层面优化

3. 任务新增schema配置

● 新增功能

1. FlinkSql支持jar包方式

2. 新增工作流任务

3. 自定义扩展开发任务

0条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

最新活动更多
微信扫码获取数字化转型资料
钉钉扫码加入技术交流群