Skip to content

Releases: qlangtech/hudi

Release V4.0.1

21 Oct 03:52
496e8ad
Compare
Choose a tag to compare

Abstract

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

发布汇报:https://www.bilibili.com/video/BV1rXC1YjECW

  1. 添加Transformer功能:通过在TIS流程中设置Transformer功能逻辑,可实现在ETL数仓功能中,在E(数据抽取)阶段即可高效实现各种字段值转换功能,如:字段脱敏,字段拼接,取子字符串等功能。
  2. 为了配合以上Transformer数据处理功能,当用户完成Transformer功能设置后,需要第一时间验证Transformer处理逻辑是否正确。基于此需求,TIS提供了数据ReView功能,可以在ReView数据页面直观查看数据表中真实的数据和被Transformer处理逻辑执行过的数据。
  3. 丰富Hadoop/Hive生态支持力度,提供Cloudera版本的Hadoop/Hive实现插件支持。
  4. 优化MongoDB数据源字段分析功能,由于MongoDB是Schemaless,一般以MongoDB作为数据源导入,需要手动为MongoDB 的Collection设置Schema,这是一件烦冗且容易出错的事儿。TIS提供了基于Collection中的存量数据自动分析对应的Schema结构,大大提高了MongoDB作为源的数据管道配置效率。
  5. 增加数据管道、数据源的克隆功能。用户在业务系统中需要添加大量类似的配置源,例如:多个MySQL数据库,只是数据库名称不一样,其他:host、用户名、密码都一样,因此用户不想没个数据源都从新开始配置,只需配置一个数据源,其他数据库实例只需克隆该实例,然后改一下克隆出来的数据库实例的数据库名就行,从而提高了添加数据源实例的效率。
  6. 为响应用户多次提出TIS与DolphinScheduler整合方案的需要,在版本提供了TIS与DolphinScheduler整合方案插件,事先在TIS中配置数据管道,验证无误后,通过在相应的配置插件页面,一键同步需要同步表任务到DolphinScheduler平台,即可在DS平台中事先轻松拉起数据同步任务,全程不需要编写一行配置代码。
    如果你在DolphinScheduler平台中,厌倦了烦冗枯燥且容易出错的DataX、SeaTunnel的JSON配置脚本编写。您可以尝试一下TIS新提供的与DolphinScheduler整合插件,一定会有惊喜。
  7. 优化增量实时同步任务启动速度:当用户选择整库数据表同步任务执行,启动时间过慢。原因是有大量表执行启动任务时,需要针对每个表创建JDBC Connection实例,这样是非常耗时的。优化方案是,实现了Connection实例复用技术,大大加快了整库表同步增量任务启动速度。
  8. 添加MariaDB的Source/Sink Connector连接器,支持MariaDB的批量读/写、实时增量读/写功能。
  9. 单机版本设置多同步任务并发执行,为了充分挖掘单机版机器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

Related Projects

Release v3.8.0

25 Oct 03:54
8541805
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任务。datavane/tis#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中接入同类型数据端的复杂程度。datavane/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到下游数据端中。

    datavane/tis#254

  7. 优化Kerberos认证支持

    优化TIS中kerberos认证的支持,支持Hive、HDFS等数据端 datavane/tis#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
8541805
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
8541805
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两种格式,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

Related Projects

Release v3.6.0

27 Nov 11:18
8541805
Compare
Choose a tag to compare
Release v3.6.0 Pre-release
Pre-release

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
8541805
Compare
Choose a tag to compare
Release v3.6.0-alpha Pre-release
Pre-release

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

Installation

Related Projects