DAG任务调度系统Taier演进之道,探究DataSourceX模块-创新互联

熟悉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任务

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


分享标题:DAG任务调度系统Taier演进之道,探究DataSourceX模块-创新互联
网站网址:http://scyanting.com/article/coiipj.html