Releases: qlangtech/hudi
Release V4.0.1
Abstract
TIS的v4.0.1
版本终于要与大家见面了,v4.0.1
在以下几方面进行了功能加强和升级。
发布汇报:https://www.bilibili.com/video/BV1rXC1YjECW
- 添加Transformer功能:通过在TIS流程中设置Transformer功能逻辑,可实现在ETL数仓功能中,在E(数据抽取)阶段即可高效实现各种字段值转换功能,如:字段脱敏,字段拼接,取子字符串等功能。
- 为了配合以上Transformer数据处理功能,当用户完成Transformer功能设置后,需要第一时间验证Transformer处理逻辑是否正确。基于此需求,TIS提供了数据ReView功能,可以在ReView数据页面直观查看数据表中真实的数据和被Transformer处理逻辑执行过的数据。
- 丰富Hadoop/Hive生态支持力度,提供Cloudera版本的Hadoop/Hive实现插件支持。
- 优化MongoDB数据源字段分析功能,由于MongoDB是Schemaless,一般以MongoDB作为数据源导入,需要手动为MongoDB 的Collection设置Schema,这是一件烦冗且容易出错的事儿。TIS提供了基于Collection中的存量数据自动分析对应的Schema结构,大大提高了MongoDB作为源的数据管道配置效率。
- 增加数据管道、数据源的克隆功能。用户在业务系统中需要添加大量类似的配置源,例如:多个MySQL数据库,只是数据库名称不一样,其他:host、用户名、密码都一样,因此用户不想没个数据源都从新开始配置,只需配置一个数据源,其他数据库实例只需克隆该实例,然后改一下克隆出来的数据库实例的数据库名就行,从而提高了添加数据源实例的效率。
- 为响应用户多次提出TIS与DolphinScheduler整合方案的需要,在版本提供了TIS与DolphinScheduler整合方案插件,事先在TIS中配置数据管道,验证无误后,通过在相应的配置插件页面,一键同步需要同步表任务到DolphinScheduler平台,即可在DS平台中事先轻松拉起数据同步任务,全程不需要编写一行配置代码。
如果你在DolphinScheduler平台中,厌倦了烦冗枯燥且容易出错的DataX、SeaTunnel的JSON配置脚本编写。您可以尝试一下TIS新提供的与DolphinScheduler整合插件,一定会有惊喜。 - 优化增量实时同步任务启动速度:当用户选择整库数据表同步任务执行,启动时间过慢。原因是有大量表执行启动任务时,需要针对每个表创建JDBC Connection实例,这样是非常耗时的。优化方案是,实现了Connection实例复用技术,大大加快了整库表同步增量任务启动速度。
- 添加MariaDB的Source/Sink Connector连接器,支持MariaDB的批量读/写、实时增量读/写功能。
- 单机版本设置多同步任务并发执行,为了充分挖掘单机版机器CPU并发执行的潜力,在TIS单机版部署模式下可以设置多个同步任务并发执行,可以大幅提高单机版数据同步的吞吐率。
Bug Fix
- flink 启动立即失败,报告无法分配足够slot资源#362
- 修改分表识别自定义规则没有生效#361
- 通过savepoint或者checkpoint恢复增量任务执行有误#356
- 达梦数据库最新版本有找不到表的情况#354
- psgql同步到doris由于数据类型为geometry导致错误#333
- MySQL创建增量通道到ES时,部署报错#332
- K8S 环境中利用Powerjob启动执行器,打开datax执行器报错#330
- 增量同步mysql到doris null值被转换成了\N#328
- mongo->mysql通道构建发生报错#326
- 使用Oracle作为流式管道Source当指定schema时存在错误#322
New Feature
- 优化TIS Flink实时增量通道启动速度#366
- aliyun ACK 测试flink-application模式增量通部署失败,须将TIS的JDK版本升级到JDK11#365
- Make flink-cdc for mysql source connector support tableName matcher with regex pattern#360
- DORIS date类型不能作为联合主键的第一个#359
- 数据源添加Mongodb数据库名称无法使用符号-#352
- 批量数据同步设置任务触发参数#347
- TIS 与 dolphinscheduler 整合方案实现#345
- Transformer中使用上下文绑定参数#342
- 实现数据预览#338
- MySQL版本:'10.5.21 使用哪种插件安装#337
- 由于用户的MySQL服务器在美国导致启动时候checkTimeZone出错#327
- Hive Haddop 增加Cloudera的版本支持#323
- 尝试在生产环境中使用NodePort 作为服务暴露的方式#321
- tis-k8s/src/main/filters/tis-console.yaml 中ConfigMap tis.host配置对应的Namespace冲突#320
- K8S中以ReplicationController发布的资源需要改造成为 deployment类型#319
- MariaDB数据库支持...#307
- 增加任务实例和数据源复制功能#303
- [feat]需要定义数据同步可自定义表列映射#225
Installation
- TIS Package 安装说明
- TIS Flink Standalone Package 安装说明
- TIS Zeppeline NoteBook Installation安装说明
Related Projects
Release v3.8.0
Abstract
TIS的v3.8.0
版本终于要与大家见面了,v3.8.0
着重在以下几方面进行了功能加强和升级。
-
支持利用
Flink Checkpoint
恢复因意外宕机而中断的Flink Job任务用户运行的Flink Job 任务经常会因为各种原因导致意外停止,例如:机房断电等。如需要恢复中断的Flink
Job需要用户事先手动触发Savepoint存储来恢复。而机房断电属于不可预测事件,用户无法提前预测,所以只能对中断的Flink Job进行重新部署,这个流程特别费时,且之前保存的StateBackend也会丢失。因此,在TIS中提供了通过Flink Checkpoint机制来恢复Job的方式,用户只需要在部署Flink
Job过程中,开启Checkpoint机制、并设置持久化StatebackEnd,就可以方便恢复因意外中断的Flink Job任务。datavane/tis#224 -
与Doris最新版本的兼容性提升
使用Doris最新版本2.0.1与TIS兼容性优化,对
Sequence列模型
与批量删除
的设置体验进行优化,为用户提供整库导入Doris实现实时数仓方案提供了最佳技术手段。 -
提供TIS插件开发工具
随着TIS功能不断壮大,会有越来越多的开发者加入到TIS的生态构建中来。 TIS内部使用了微内核架构设计,践行OCP原则(对修改封闭,对新加功能开放),为了让用户愉快地加入到TIS生态构建中来,从
v3.8. 0
版本开始,会陆续提供一系列工具和技术分享文档,让用户可以独立地开发新的大数据集成插件,或者完善既有的TIS插件功能以满足自己的业务需求。新添加的插件参考文档:
-
Hive Reader 支持
T+1离线分析会将计算结果导入Hive的分布式文件系统中。本版本(v3.8.0)提供Hive Reader用户可以通过简单设置 将Hive中的数据导入到Doris、ElasticSearch、StarRocks、各种关系型数据库中。
-
重构 Aliyun OSS、FTP、HDFS
针对分布式文件端类型的支持,之前在TIS中对以上各种类型的数据端是各自实现的,但是在实现过程发现,每种数据类型都有压缩,数据Format(CSV、TEXT)的逻辑在需要重复实现,不同的仅仅是每种类型的文件流的获取方式。
在本版本(v3.8.0)中,将文件流获取的方式单独抽取出来,其他执行逻辑实现重用。这样有利于在TIS中对分布式式文件类型端的维护,也可大大简化今后在TIS中接入同类型数据端的复杂程度。datavane/tis#253 -
重构MongoDB Reader功能
- 支持MongoDB,多Collection选择,
- 针对MongoDB没有固定Schema的特性,TIS中加入了预判MongoDB Colection Scheam的功能,原理是预先从MongoDB
Collection中读取一定数量的记录数,TIS中会针对记录各Column值来猜测列类型,最终再由用户来确定类型进行微调。这样可以免去用户为MongoDB
Collection设置Schema的繁琐流程,从而大大提高部署效率。 - 针对MongoDB Collection的 提供给用户拆解Document类型的字段的途径、手段。可以将Document字段中的内容,打平、Sink到下游数据端中。
-
优化Kerberos认证支持
优化TIS中kerberos认证的支持,支持Hive、HDFS等数据端 datavane/tis#127
-
云原生方面的支持
支持Aliyun HDFS 的JindoFS类型的导入方式,通过 JindoFS类型的导入方式,性能比传统HDFS效率高3倍。
-
添加达梦数据库支持
支持在TIS中对达梦数据库批量读取,和批量/增量写入功能
Bug Fix
- [bug] elastic
java.sql.Timestamp
写入失败#272 - [doris] 类型com.qlangtech.tis.plugin.datax.seq.SeqKey转型错误#270
- mysql到mysql端实时同步问题,修改源表字段内容,目标表不会更新源表修改的内容,而是重新生成一条新的记录#267
- mysql_to_doris构建实时同步任务失败#261
- [bug]构建MySQL到StarRocks, Flink实时同步时,decimal-> 类型值为NULL#243
- [bug]目标端为StarRocks,目标端为MySQL内有 decmial 字段同步到 有误#242
- [BUG] hiveserver2连接配置数据库名无法携带参数#240
- [bug] doris create table DDL error with sequence_col#239
- [bug] Flink reserved key led to error 源数据库的表中存在flink保留字段,导致创建增量同步时异常#238
- [feat]希望可以删除界面无用的实例信息数据,避免干扰#237
- TIS Action执行失败 导致线程绑定资源没有被回收#236
- [bug] 使用flink-cdc的snapshot快照功能得到的date datatime类型的值有问题#232
- [mysql->doris] debezium中连接 mysql8服务端报 #203
- FTP Source map to MySQL create table DDL error#151
Others
- 替换Doris DDL Date 类型#266
- Clickhouse 执行全量数据同步初始化数据表出错#258
- 添加MongoDB数据源报错,MongoDB版本号为5.01.2#254
- 支持利用checkpoint来恢复(restore)Flink job#229
New Feature
- Doris增量实时通道主键设置流程去除#265
- 支持达梦数据库读写支持#262
- FTP、OSS、HDFS统一成T-DFS#253
- [feat] 实现CSV文档Sink写入#241
- [feat] SinkTabPropsExtends 主键候选列修改#235
- [feat] 提供TIS 插件开发者工具#233
- 支持doris sequence列模型#230
- [feat]Flink任务由于机房停电长时间宕机再次启动丢失数据#224
- [feat]增量实例需要添加一个 刷新按钮#220
- 实现一个hive Reader插件#201
- [bug]添加sql server数据源,校验失败#186
- upgrade fastjson version for security issue#152
- [SUPPORT] 希望连接hdfs和hive等组件支持kerberos认证#127
Installation
- TIS Package 安装说明
- TIS Flink Standalone Package 安装说明
- TIS Zeppeline NoteBook Installation安装说明
Related Projects
Release v3.7.2
Abstract
TIS的v3.7.2
版本终于与大家见面了,v3.7.2
在v3.7.1
之上作了几处小修改
Bug Fix
- mysql=>hive全量同步,校验hive数据源报错#223
- 构建MySQL到StarRocks, Flink实时同步时,timestamp->datetime类型值为NULL#222
- [bug] MySQL -> ElasticSearch 源表过大DataX 批量导入直接卡死#221
New Feature
Installation
- TIS Package 安装说明
- TIS Flink Standalone Package 安装说明
- TIS Zeppeline NoteBook Installation安装说明
Related Projects
Release v3.7.1
Abstract
TIS的v3.7.1
版本终于要与大家见面了,v3.7.1
着重在以下几方面进行了功能加强和升级。
-
TIS与Apache Zeppelin无缝整合
Apache Zeppelin 是一款让交互式数据分析变得可行的基于网页的开源框架。Zeppelin提供了数据分析、数据可视化等功能。经过与TIS无缝整合之后,用户可以在TIS中方便观测各数据源
中数据的状态。TIS中安装及使用Zeppelin说明 -
重新整理TIS中离线调度功能
目前TIS中支持的离线调度引擎为Spark,Hive,AliyunODPS,用户可以一站式地在TIS中抽取数据,并且通过离线分析引擎进行
T+1
数据分析操作
,详细请查看 -
支持用户在数据库系统中采用分表策略
生产环境中使用分表策略是DBA经常使用的应对海量数保存的一种方法,在本版本中以优雅的方式支持物理分表合并导入目标数据端,
详细请查看 -
添加Kafka Sink Connector插件
添加Kafka Sink Connector插件,支持canal和debezium两种格式,datavane/tis#179, 另外修改了flink的flink-json模块
在消息体中添加了source表名和生成记录的时间戳 qlangtech/flink@9844b37
Bug Fix
- [bug]After the ftp synchronization doris task is successfully created, an error message is displayed if you click the Generate script#211
- [bug]ftp file data synchronization doris error#207
- 通过插件池安装tis-hive-plugin失败#200
- 希望能提供一下mysql-SR没有主键不能建立实时通道的问题,辛苦了。#198
- 3.7 mysql 实时任务到 es有bug ,任务编译不了#194
- [Oracle->Doris] Chunjun Source 实时同步异常#192
- [mysql->doris]JdbcInputFormat.getMaxValueFromDb Faild And Instantiation classLoader of Source Flink-CDC-MySQL Faild#184
- mysql synchronize clickhouse#182
- mysql -> elastic 增量同步增量脚本生成出错#178
- MySQL -> Doris 实现增量通道分区表增量通道出错#176
- mysql->doris BIGINT(20) UNSIGNED 类型映射 失败#175
- oracle-> starRocks 增量实时脚本生成有误#173
- 当源表有选取部分列同步,开启flink 增量同步会出错#170
- Flink Server side JM TM启动 classloader 初始化并发异常#169
- Mysql Writer datasource selection faild#106
New Feature
- TIS 中支持阿里云 odps导入及基于MaxComputer的离线数据分析#183
- The save path of StreamUberJar shall be changed#180
- 增加 source & sink 端kafka#179
- starRocks Sink 端改造层chunjun类型的端#174
- add control flag startNewChain when use flink-cdc as Stream Source#164
- 实现TIS与Zeppling的整合弥补TIS在数据可视化方面的短板#161
- 实现数据通道删除功能#158
- 同库相同表结构表名不一样的表无法写入到相同的一张目标表#150
- 希望TIS 支持删除实例,目前实例只能新增#122
- Assemble节点中Dag调度并发度控制#119
Installation
- TIS Package 安装说明
- TIS Flink Standalone Package 安装说明
- TIS Zeppeline NoteBook Installation安装说明
Related Projects
Release v3.6.0
Abstract
经过几个月时间的开发TIS的v3.6.0
版本终于要与大家见面了,v3.6.0
着重在以下几方面进行了功能加强和升级。
-
对Apache Hudi Sink
- 主键模型重新进行抽象,已经完全和Apache Hudi 主键模型匹配。
- 为了支持Hudi能够支持三方包多版本多依赖,在TIS插件池中引入了
插件多版本依赖
,具体来说,在运行时可以选择Hudi版本所依赖的不同Hadoop依赖版本目前TIS中Hudi可以选择 Hadoop 2.7或者 Hadoop3.0。 - 另外为云端用户加入了KerberOS设置项,使用大数据组件中为了网络安全需要,用户往往需要为组件访问开启KerberOS认证功能,为了简化添加该认证机制流程,3.6.0中添加了开启KerberOS认证功能
-
引入 Chunjun 来完善TIS Source/Sink 的端覆盖面 #139,
在TIS的生态中以MySQL为例,如需以MySQL作为Source端,用户可以根据自身业务特点,可以选择 基于 Flink-CDC MySQL 插件或者基于 Chunjun 基于polling 策略实现的插件,两种插件各有特点,至于选择使用那种就取决于使用者自己的判断了。临近发布发现一个很有意思的使用场景,那就是用户可以选择基于Flink-CDC实现 MySQL插件来监听MySQL 表的增量变更来将数据同步到以 Chunjun 构建的 Sink端中去,这样的混搭使用方式给用户带来了更多的选择自由度,也避免了
在Flink-CDC和Chunjun各自的框架内部重复造轮子从而造成生态内卷。 -
完善各个端(Source/Sink)的单元测试,由于添加到TIS生态中的数据端(Source/Sink)逐渐增多,每次发布无法通过人肉的方式把所有的端功能回归
一遍,因此在v3.6.0
版本中通过引入testcontainer将各中数据库进行Stub化,最大限度保证每次发布功能稳定。
Bug Fix
- Oracle table column NUMBER(11,0) mapper to MySQL error#166
- mysql -> doris Flink 实时同步 出错#162
- postgresql作为Writer source的bug#149
- MySQL8 的Chunjun Source 执行datetime类型的数据映射出错#148
- 定义Oracle数据源过程使用ServiceName连接方式导致找不到表#147
- DataX 执行过程中,出错日志信息写入到了tis.log 中,没有打印到控制台执行日志中#146
Others
- 通过querySql中where条件实现增量抽取,flink 脚本支持SQL并且让用户自行修改#160
New Feature
Installation
Related Projects
Release v3.6.0-alpha
Abstract
经过几个月时间的开发TIS的v3.6.0
版本终于要与大家见面了,v3.6.0
着重在以下几方面进行了功能加强和升级。
-
对Apache Hudi Sink
- 主键模型重新进行抽象,已经完全和Apache Hudi 主键模型匹配。
- 为了支持Hudi能够支持三方包多版本多依赖,在TIS插件池中引入了
插件多版本依赖
,具体来说,在运行时可以选择Hudi版本所依赖的不同Hadoop依赖版本目前TIS中Hudi可以选择 Hadoop 2.7或者 Hadoop3.0。 - 另外为云端用户加入了KerberOS设置项,使用大数据组件中为了网络安全需要,用户往往需要为组件访问开启KerberOS认证功能,为了简化添加该认证机制流程,3.6.0中添加了开启KerberOS认证功能
-
引入 Chunjun 来完善TIS Source/Sink 的端覆盖面 #139,
在TIS的生态中以MySQL为例,如需以MySQL作为Source端,用户可以根据自身业务特点,可以选择 基于 Flink-CDC MySQL 插件或者基于 Chunjun 基于polling 策略实现的插件,两种插件各有特点,至于选择使用那种就取决于使用者自己的判断了。临近发布发现一个很有意思的使用场景,那就是用户可以选择基于Flink-CDC实现 MySQL插件来监听MySQL 表的增量变更来将数据同步到以 Chunjun 构建的 Sink端中去,这样的混搭使用方式给用户带来了更多的选择自由度,也避免了
在Flink-CDC和Chunjun各自的框架内部重复造轮子从而造成生态内卷。 -
完善各个端(Source/Sink)的单元测试,由于添加到TIS生态中的数据端(Source/Sink)逐渐增多,每次发布无法通过人肉的方式把所有的端功能回归
一遍,因此在v3.6.0
版本中通过引入testcontainer将各中数据库进行Stub化,最大限度保证每次发布功能稳定。
Bug Fix
- MySQL8 的Chunjun Source 执行datetime类型的数据映射出错#148
- 定义Oracle数据源过程使用ServiceName连接方式导致找不到表#147
- DataX 执行过程中,出错日志信息写入到了tis.log 中,没有打印到控制台执行日志中#146
- TIS启动时访问 http://mirror.qlangtech.com/.../default.json 超时#145
- error of create ftp source that is sink to mysql#143
- mysql同步clickhouse,字段大写导致映射字段重复#141
- mysql增量同步clickhouse部署异常#140
- [clickhouse] mysql-> clickhouse 使用k8s 集群同步方式#134
- [hudi]hudi DeltaStreamer 执行过程中tpi包并发修改出错#133
- spark sql查询批量同步生成的hudi分区表会报错,而hive和presto查询正常#131
- TIS平台自身的MySQL连接URL要加 useSSL=false 参数#130
- MySQL增量同步到clickhouse带有dateTime字段存在问题#116
- mysql8同步到es7.9.3版本date字段缺失"format"属性配置#114
- CUDCDCTestSuit 单元测试assert阶段定义的 TIME 类型 从flink RowData取出早8个小时#22
New Feature
- [feat] add to sink/source connector for customized selected tab properites#144
- 利用Chunjun添加新的Source/Sink支持#139
- 重构tis.pub文档结构#138
- 去除tis-solrj-client 模块依赖#137
- [starrocks][2.2版本] [兼容需求]sr从1.8版本升级到2.2后tis工作不正常需要tis调整对应的writer#132
- [Hudi] keyGenerator可视化配置完善#128
- [Clickhouse Sink] 目前不支持Delete 删除功能 #125
- sink-starrocks 字段与对端校验不一致#113
- TIs mysql的sink端插件暂未支持#110
- 支持DDL同步列注释自动添加#91