Skip to content

Releases: datavane/tis

Release v4.0.0-rc1

08 May 10:08
Compare
Choose a tag to compare
Release v4.0.0-rc1 Pre-release
Pre-release

Abstract

TIS的v4.0.0版本终于要与大家见面了,v4.0.0在以下几方面进行了功能加强和升级。

  1. flink及相关组件全面升级到1.18版本,flink-cdc升级到3.0.1,chunjun也做相应版本升级
  2. 单节点执行方式扩展为分布式,
    利用powerjob将单点datax任务扩展为分布式执行方式,支持同一时间在分布式环境中多个datax任务并行执行,从而大幅提升数据同步管道的执行效率, 并且提供基于powerjob的crontab定时任务触发方式,完美支持T+1离线数据采集任务。
  3. 分布式执行基础上将TIS全面支持kubernetes的CloudNative的部署模式,支持私有云和各大公有云场景下的部署。
  4. 优化了部署流程,TIS内操作涉及长时间等待操作,例如,发布基于flink的流式计算任务,包括多个子过程,如编译、打包、发布、等待等环节,需要等待一段时间。在新版本中引入了发布流程可视化的机制,将各个步骤的执行状态直观展示给用户。

Bug Fix

  • 管道创建流程中更改端类型会出错#312
  • k8s application 模式下SQL模式执行flink Job 出错#308
  • 无法识别VARBINARY类型的字段列#296
  • 终止任务bug#294
  • [tis-flink-cdc-postgresql-plugin] java.lang.ClassCastException: java.sql.Timestamp cannot be cast to java.time.Instant#293
  • 写入clickhosue时自动建表bug#292
  • FTP方式找不到对应匹配的文件#289
  • mysql->doris 增量执行streamload出错#285
  • 分库分表同步报找不到表#283
  • 整库同步时个别表有json类型字段下游create table ddl报错#280
  • plugin 进行校验过程中错误被遮蔽#277
  • MySQL CDC Source 异常恢复消费位点异常#274
  • flink rest api client 解析服务端返回的结果有类无法反序列化#268

New Feature

  • Flink K8S Cluster启动附加loadbalance service Flink JobMaster报WARN信息#310
  • TIS 整体部署容器化部署方案#309
  • 将flink-cdc的MySQL校验MySqlValidator.checkVersion前置#306
  • 添加flink连接同步timeout#298
  • 添加基于Flink-cdc 实现的 Postgresql source端实现#291
  • 实时同步无法使用“批量创建“#284
  • 为TIS 各种端提供图标显示支持#275
  • 建议在批量构建功能中增加定时任务,可以实现datax的定时全量和增量同步#255
  • [feature] 添加flink 实例一览页面#213
  • 升级flink相关组件到最新版本#168
  • 支持批量任务分布式执行#157
  • 支持TIS Flink 在K8S上运行#156
  • 离线T+1 怎么定时?#97

Installation

Related Projects

Release v3.8.0

25 Oct 03:54
Compare
Choose a tag to compare

Abstract

TIS的v3.8.0版本终于要与大家见面了,v3.8.0着重在以下几方面进行了功能加强和升级。

  1. 支持利用Flink Checkpoint恢复因意外宕机而中断的Flink Job任务

    用户运行的Flink Job 任务经常会因为各种原因导致意外停止,例如:机房断电等。如需要恢复中断的Flink
    Job需要用户事先手动触发Savepoint存储来恢复。而机房断电属于不可预测事件,用户无法提前预测,所以只能对中断的Flink Job进行重新部署,这个流程特别费时,且之前保存的StateBackend也会丢失。

    因此,在TIS中提供了通过Flink Checkpoint机制来恢复Job的方式,用户只需要在部署Flink
    Job过程中,开启Checkpoint机制、并设置持久化StatebackEnd,就可以方便恢复因意外中断的Flink Job任务。#224

  2. 与Doris最新版本的兼容性提升

    使用Doris最新版本2.0.1与TIS兼容性优化,对Sequence列模型批量删除的设置体验进行优化,为用户提供整库导入Doris实现实时数仓方案提供了最佳技术手段。

  3. 提供TIS插件开发工具

    随着TIS功能不断壮大,会有越来越多的开发者加入到TIS的生态构建中来。 TIS内部使用了微内核架构设计,践行OCP原则(对修改封闭,对新加功能开放),为了让用户愉快地加入到TIS生态构建中来,从v3.8. 0版本开始,会陆续提供一系列工具和技术分享文档,让用户可以独立地开发新的大数据集成插件,或者完善既有的TIS插件功能以满足自己的业务需求。

    新添加的插件参考文档:

    1. 插件实现开发详细说明
    2. 插件开发流程说明
    3. 插件工具类参考
  4. Hive Reader 支持

    T+1离线分析会将计算结果导入Hive的分布式文件系统中。本版本(v3.8.0)提供Hive Reader用户可以通过简单设置 将Hive中的数据导入到Doris、ElasticSearch、StarRocks、各种关系型数据库中。

  5. 重构 Aliyun OSS、FTP、HDFS

    针对分布式文件端类型的支持,之前在TIS中对以上各种类型的数据端是各自实现的,但是在实现过程发现,每种数据类型都有压缩,数据Format(CSV、TEXT)的逻辑在需要重复实现,不同的仅仅是每种类型的文件流的获取方式。
    在本版本(v3.8.0)中,将文件流获取的方式单独抽取出来,其他执行逻辑实现重用。这样有利于在TIS中对分布式式文件类型端的维护,也可大大简化今后在TIS中接入同类型数据端的复杂程度。#253

  6. 重构MongoDB Reader功能

    • 支持MongoDB,多Collection选择,
    • 针对MongoDB没有固定Schema的特性,TIS中加入了预判MongoDB Colection Scheam的功能,原理是预先从MongoDB
      Collection中读取一定数量的记录数,TIS中会针对记录各Column值来猜测列类型,最终再由用户来确定类型进行微调。这样可以免去用户为MongoDB
      Collection设置Schema的繁琐流程,从而大大提高部署效率。
    • 针对MongoDB Collection的 提供给用户拆解Document类型的字段的途径、手段。可以将Document字段中的内容,打平、Sink到下游数据端中。

    #254

  7. 优化Kerberos认证支持

    优化TIS中kerberos认证的支持,支持Hive、HDFS等数据端 #127

  8. 云原生方面的支持

    支持Aliyun HDFS 的JindoFS类型的导入方式,通过 JindoFS类型的导入方式,性能比传统HDFS效率高3倍。

  9. 添加达梦数据库支持

    支持在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

Related Projects

Release v3.7.2

01 Jun 06:31
Compare
Choose a tag to compare

Abstract

TIS的v3.7.2版本终于与大家见面了,v3.7.2v3.7.1之上作了几处小修改

Bug Fix

  • mysql=>hive全量同步,校验hive数据源报错#223
  • 构建MySQL到StarRocks, Flink实时同步时,timestamp->datetime类型值为NULL#222
  • [bug] MySQL -> ElasticSearch 源表过大DataX 批量导入直接卡死#221

New Feature

  • [feat] 重构将 tis-datax-executor 迁移到 datax工程中#215
  • TIS 增量同步很慢,一个表需要10秒+多以上才能处理完,希望优化下这个速度#126

Installation

Related Projects

Release v3.7.1

05 May 10:30
Compare
Choose a tag to compare

Abstract

TIS的v3.7.1版本终于要与大家见面了,v3.7.1着重在以下几方面进行了功能加强和升级。

  1. TIS与Apache Zeppelin无缝整合

    Apache Zeppelin 是一款让交互式数据分析变得可行的基于网页的开源框架。Zeppelin提供了数据分析、数据可视化等功能。经过与TIS无缝整合之后,用户可以在TIS中方便观测各数据源
    中数据的状态。TIS中安装及使用Zeppelin说明

  2. 重新整理TIS中离线调度功能

    目前TIS中支持的离线调度引擎为Spark,Hive,AliyunODPS,用户可以一站式地在TIS中抽取数据,并且通过离线分析引擎进行T+1数据分析操作
    详细请查看

  3. 支持用户在数据库系统中采用分表策略

    生产环境中使用分表策略是DBA经常使用的应对海量数保存的一种方法,在本版本中以优雅的方式支持物理分表合并导入目标数据端,
    详细请查看

  4. 添加Kafka Sink Connector插件

    添加Kafka Sink Connector插件,支持canal和debezium两种格式,#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

Related Projects

Release v3.6.0

27 Nov 11:17
Compare
Choose a tag to compare

Abstract

经过几个月时间的开发TIS的v3.6.0版本终于要与大家见面了,v3.6.0着重在以下几方面进行了功能加强和升级。

  1. 对Apache Hudi Sink

    • 主键模型重新进行抽象,已经完全和Apache Hudi 主键模型匹配。
    • 为了支持Hudi能够支持三方包多版本多依赖,在TIS插件池中引入了插件多版本依赖,具体来说,在运行时可以选择Hudi版本所依赖的不同Hadoop依赖版本目前TIS中Hudi可以选择 Hadoop 2.7或者 Hadoop3.0。
    • 另外为云端用户加入了KerberOS设置项,使用大数据组件中为了网络安全需要,用户往往需要为组件访问开启KerberOS认证功能,为了简化添加该认证机制流程,3.6.0中添加了开启KerberOS认证功能
  2. 引入 Chunjun 来完善TIS Source/Sink 的端覆盖面 #139,
    在TIS的生态中以MySQL为例,如需以MySQL作为Source端,用户可以根据自身业务特点,可以选择 基于 Flink-CDC MySQL 插件或者基于 Chunjun 基于polling 策略实现的插件,两种插件各有特点,至于选择使用那种就取决于使用者自己的判断了。

    临近发布发现一个很有意思的使用场景,那就是用户可以选择基于Flink-CDC实现 MySQL插件来监听MySQL 表的增量变更来将数据同步到以 Chunjun 构建的 Sink端中去,这样的混搭使用方式给用户带来了更多的选择自由度,也避免了
    在Flink-CDC和Chunjun各自的框架内部重复造轮子从而造成生态内卷。

  3. 完善各个端(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

  • 配置Hologres数据源问题 ,用户名支持$符#163
  • Orcale到MySQL的实时同步#95

Installation

Related Projects

Release v3.6.0-alpha

01 Nov 09:42
Compare
Choose a tag to compare

Abstract

经过几个月时间的开发TIS的v3.6.0版本终于要与大家见面了,v3.6.0着重在以下几方面进行了功能加强和升级。

  1. 对Apache Hudi Sink

    • 主键模型重新进行抽象,已经完全和Apache Hudi 主键模型匹配。
    • 为了支持Hudi能够支持三方包多版本多依赖,在TIS插件池中引入了插件多版本依赖,具体来说,在运行时可以选择Hudi版本所依赖的不同Hadoop依赖版本目前TIS中Hudi可以选择 Hadoop 2.7或者 Hadoop3.0。
    • 另外为云端用户加入了KerberOS设置项,使用大数据组件中为了网络安全需要,用户往往需要为组件访问开启KerberOS认证功能,为了简化添加该认证机制流程,3.6.0中添加了开启KerberOS认证功能
  2. 引入 Chunjun 来完善TIS Source/Sink 的端覆盖面 #139,
    在TIS的生态中以MySQL为例,如需以MySQL作为Source端,用户可以根据自身业务特点,可以选择 基于 Flink-CDC MySQL 插件或者基于 Chunjun 基于polling 策略实现的插件,两种插件各有特点,至于选择使用那种就取决于使用者自己的判断了。

    临近发布发现一个很有意思的使用场景,那就是用户可以选择基于Flink-CDC实现 MySQL插件来监听MySQL 表的增量变更来将数据同步到以 Chunjun 构建的 Sink端中去,这样的混搭使用方式给用户带来了更多的选择自由度,也避免了
    在Flink-CDC和Chunjun各自的框架内部重复造轮子从而造成生态内卷。

  3. 完善各个端(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

Supported Source/Sink

https://tis.pub/docs/plugin/source-sink

Installation

  • TIS Package

    安装说明

    wget http://tis-release.oss-cn-beijing.aliyuncs.com/3.6.0-alpha/tis/tis-uber.tar.gz
  • TIS Flink Standalone Package
    安装说明

    wget http://tis-release.oss-cn-beijing.aliyuncs.com/3.6.0-alpha/tis/flink-tis-1.13.1-bin.tar.gz

Related Projects

v3.4.0

14 Jan 07:55
Compare
Choose a tag to compare

v3.4.0涉及到的功能点:

  1. MySQL 增量同步Datetime类型binlog接收到的时间 比实际UTC时间快8小时,导致下游StarRocks中的时间和上游MySQL的DateTime时间不一致 #89
  2. 数据库名支持中划线 #86
  3. Oracle数据库可以选择系统授权给的其他用户名下的表 #85
  4. 在配置DATAX oracle reader 时,避免大量重复字段出现 #81
  5. 执行TIS 批量任务失败,但是最终任务状态显示失败 #79
  6. Flink实时同步支持阿里云ES同步,填入的用户名、密码可以生效 #76
  7. 重构TIS启动脚本,优化TIS启动时间 #65
  8. TIS启动端口可配置 #62

v3.3.0

v3.2.0

03 Dec 10:45
Compare
Choose a tag to compare
modfiy readme content

v3.0.0

22 Sep 10:56
Compare
Choose a tag to compare

================== 3.0.0 ==================

New Features

  • execute dataX instance mysql->hive the destination hive table add unified prefix for example 'ods_'
  • add dataX writer plugin support to Doris/StarRocks
  • add dataX rdbms writer(mysql,sqlserver,clickhouse,doris,postgreSQL) automatic generate create table DDL script by reader metadata
  • add terminate function for dataX runing job
  • make dataX job running in independent VM in favor of clean classloader environment