ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## 2019/1/21 Version 2.4 ### 新功能点 #### 1、增加Kafka数据源 详情见:[Kafka数据源](chapter1/shu-ju-yuan/pei-zhi-kafka.md) 点击「新建数据源」,选择「Kafka数据源」进行新建操作: ![](https://img.kancloud.cn/ad/2c/ad2c67642d767cf190eb6f75ff38f1f2_952x696.png =360x) * 数据源名称:是该数据源在DataPipeline的唯一标识 * 服务器地址:输入连接数据目的地的域名或IP地址及端口值,允许输入多个地址,使用","分隔。 * ZooKeeper地址:输入连接Zookeeper的域名或IP地址及端口值,允许输入多个地址,使用","分隔。 * Schema Register地址:输入Schema Register地址 * 数据格式: * JSON(默认)、AVRO、STRING * 点击连接后将验证数据源连接配置并同时检验数据源版本、权限等信息; * 成功连接后将会自动打开该数据源的详情页 #### 2、实时任务回滚功能 详情见:[数据任务详情页—基本信息](yun-wei-guan-li/shu-ju-ren-wu-xiang-qing-ye/ji-ben-xin-xi.md) * 当数据任务为:SQL类型数据源实时模式作为增量数据的读取方式时,提供回滚机制。 * 数据任务详情页提供回滚入口,任务处于激活、暂停才会高亮,其他状态置灰 ![ ](https://box.kancloud.cn/4d06843a26e0cfab0cf0d032e64b2ed0_1094x610.png =360x) * 点击「回滚」,立即弹窗显示「回滚设置」 * 用户可以选择回滚的方式:有两个选项,一:按回滚时间(默认),二:按回滚位 * 按回滚时间(默认) * 选择完要回滚的时间后,展示后端返回的真实打点位置线,打点间隔根据用户设置的打点频率进行变动 * 默认直接定位到离该时间点最近的时间戳上,鼠标浮上下方展示出该时间戳,并且要求位置线下方展示出该时间戳的具体位置信息,每个数据源展示不同。 * 数据源为mysql                    * 显示Binlog Postion、Binlog文件名称、GTID * 数据源为:Oracle               * 显示LogMiner scn * 数据源为:SQL Server        * 显示Change tracking version * 数据源为:PostgreSQL        * 显示lsn * 默认展示出附近十条打点位置 * 用户可以鼠标拖拽至自己想回滚的时间戳,下方时间戳具体位置信息根据用户选择随时变动,方便用户查看 * 按回滚的位置 * 用户选择按回滚位置进行回滚时,不同的数据源显示不同,同上 * 数据源未被任务占用时,允许修改打点频率和打点范围,修改后的数据源按照新设置进行打点。 * 每个数据源独立存在,当数据源配置信息一致时可设置不同的打点频率和打点范围。 #### 3、同步全量和增量允许用户自定义 详情见:[创建数据同步—任务设置](rwsz.md) * 设置任务增加「同步范围」 * 两个选项:全量数据、增量数据,用户可以选择只同步全量或者只同步增量,可同时选择 * 只选择全量 * 两个选项(单选):同步一次,定时读取 * 默认选择「同步一次」。表示该任务只同步一次数据源数据到目的地即可。 * 定时读取,交互逻辑与之前「定时同步」一致。选择定时读取后,要求用户输入读取频率 :-: ![](https://img.kancloud.cn/70/8e/708efbe23420561754f27e14ac0f9c21_1280x358.png =360x) * 只选择增量 * 只能选择实时模式 * SQL类型数据源:MySQL、Oracle、SQL Server、PostgreSQL时,实时模式,增加读取起点选项,用户可以设置增量数据读取的起始位置。 * 两个选项:激活任务为起点(默认)、自定义 :-: ![](https://img.kancloud.cn/1f/8a/1f8ac53ca993c7730cb0c5f16865cac7_2292x958.png =360x) * 用户选择的同步范围:「全量数据」和「增量数据」。 * 全量数据默认只同步一次。 * 增量数据部分设置 * 可以选择实时读取与增量识别模式,与当前逻辑一致 #### 4、 任务和单表级别batch设置 详情见:[创建数据同步—任务设置](rwsz.md) * 任务设置增加"子任务设置模块" * 文案提示:设置开启后对全任务中的子任务生效(单表,单文件或数据),配置规则-高级设置相关项空缺时采用该全局设置。 * batch设置 * 文案:「待对子任务读取数据达到一定设置条件后,进行批量同步写入」。条件包括条数,大小和时间,条数和时间为必填项,为空时不能进入下一步。 * 条数类型显示“读取满\_\_\_\_条时批量写入”,输入框数值默认为5000,允许用户修改,输入为空时提示“不能为空”。 * 大小类型显示,“读取满\_\_\_\_KB/MB时批量写入”,KB和MB单位可在下拉栏切换,用户可选填,允许修改,可以为空。 * 时间类型显示“读取满\_\_\_\_秒/分时批量写入”,默认为30秒,秒和分可在下拉栏切换,允许修改,输入为空时提示“不能为空”。 * 单表设置batch * batch设置【批量写入】 * 文案提示:设置开启后对当前界面的表或文件生效,读取数据达到设置条件后,进行批量同步写入。优先级高于全局子任务设置,启用时优先采用。 条件包括条数,大小和时间,均为选填项。 * 条数类型显示“读取满\_\_\_\_条时批量写入”,输入框数值默认为5000,允许用户修改,输入可以为空。 * 大小类型显示,“读取满\_\_\_\_KB/MB时批量写入”,KB和MB单位可在下拉栏切换,用户可选填,允许修改,可以为空。 * 时间类型显示“读取满\_\_\_\_秒/分时批量写入”,默认为30秒,秒和分可在下拉栏切换,允许修改,输入可以为空。 #### 5、Hive、Kafka、FTP目的地配置增加唯一键 详情见:[创建数据同步—配置规则](pzgz.md) * 目的地为hive、kafka、文件系统类型时,配置规则-目的地表结构中,增加「唯一键」字段 * 不点亮小钥匙,则不进行唯一键去重;点亮多个,则按默认规则组合唯一键去重;点亮1个,选中字段直接用于唯一键去重 * 指定多个唯一键时,后端自动生成唯一键虚拟值用以去重筛选。 #### Hive全量覆写 详情见:[Hive数据目的地](chapter1/shu-ju-mu-de-di/Hive.md) * 用户选择Hive目的地,并且同步范围选择「全量数据」 * 若用户对同步的表不进行分区,则每次定时同步全量数据时:DataPipeline会先删除目的地对应的hive表,并全量覆写。 * 若用户对同步的表进行了分区 * 如果是需要在新的分区下写入数据,则直接写入对应该分区的数据。 * 如果是需要在老的分区下写入数据,则删除老分区的所有数据后再写入本次全量覆写中对应该分区的数据。 ### 优化功能点 #### 1、定时同步提供任务级别标记功能 * 目前的定时同步逻辑:当该任务下的单个表完成一次定时同步后,会单独计时用户设置的频率时间开始下一次的读取数据。 * 优化后的定时同步逻辑:当该任务所有表完成一次同步后,再根据用户设置的频率时间统一开始定时读取数据。 * 当用户选择SQL类型数据源(MySQL、SQL Server、Oracle、PostgreSQL),FTP、S3 * 系统会在状态表中记录: * 该「任务」和所有表「表」全量同步的信息 * 字段一:最后一次同步完成时间。第一次没有,以后是永远被更新。 * 字段二:当前状态:同步中、等待中。 * 该「任务」和所有表「表」增量同步的信息 * 字段一:最后一次同步完成时间。第一次没有,以后是永远被更新。 * 字段二:当前状态:同步中、等待中。 #### 2、清洗脚本支持存储与调用,方便用户高效快捷使用清洗脚本功能。 详情见:[创建数据同步—配置规则—清洗脚本](pzgz/qxjb.md) ![](https://img.kancloud.cn/09/cc/09cc25d2635e9e231bc0fd54ad32cb13_1082x666.png =360x) * 支持用户直接调用默认脚本  ①DML.java   提示内容: DML字段标识脚本:源表数据发生变化时,在目的地表中增加相应的 DML 标识字段,包括 insert、update、delete   ②CollectTime.java   提示内容: 读取时间脚本:根据数据读取时间,在目的地表中增加相应的时间字段   ③UpdateTime.java   提示内容: 写入时间脚本:根据数据写入时间,在目的地表中增加相应的时间字段 #### 3、Hive目的地优化 * hive目的地存在同名表进行提示 * 分区字段要求在目的地列表里显示。 * 提示优化: * wallclock、record、recordfiled 提示 * path.format格式提示 * 增加「LDAP」认证方式 * 下方显示三个选项:服务器地址&用户名&密码。 * 不允许为空,否则在输入框直接提示:不能为空。 #### 4、目的地表和字段名称支持大小写设置 详情见:[创建数据同步—任务设置](rwsz.md) * 任务激活前支持修改目的地大小写设置 #### 5、API数据源 详情见:[API数据源](chapter1/shu-ju-yuan/pei-zhi-api.md) * 修改该数据源下的任意API参数,用户保存后要求执行到所有使用该API的任务。 * 当用户修改某一个API的参数设置: * 勾选该API,并且未激活数据任务点击「激活」后要求使用修改后的API参数。 * 勾选该API,并且已激活的数据任务(不管装提示「已暂停」还是「进行中」): * 从下一次请求开始使用最近更新的API参数。 * 已激活的相关API任务要求按照顺序完成(优先顺序为以最近激活的任务)。 #### 6、任务详情页支持排序功能和搜索功能 详情见:[管理数据同步—数据任务详情页—概览信息](yun-wei-guan-li/shu-ju-ren-wu-xiang-qing-ye/gai-lan-xin-xi.md) * 数据源为mysql、oracle、pg、sql server、API时,支持表排序功能 * 表名称/API名称、已读取数据、已处理数据、错误队列、完成进度提供排序功能 * 仅支持对一项列名进行排序,不支持多个同时排序 #### 7、同步列表支持查看已选表情况 详情见:[管理数据同步—数据任务详情页—选择同步内容](xzschema.md) * 选表完毕后点击「保存」 * 弹窗右上侧显示“已选表/视图”按钮 * 点击后,按钮变蓝,可筛选显示当前所有已勾选表和视图名称 * 再次点击后,按钮变灰,显示全部表 ![](https://box.kancloud.cn/1a42ebb3717c82913fb49714259d1869_1200x1428.png =360x) #### 8、修改表结构 * 增减表操作在任务为暂停/未激活状态下进行支持修改表结构,同时在增表后标注新增表