数据传输

版本:v3.8.0

新增功能

1.【离线同步任务】支持版本管理功能

  • 功能介绍:
    • 离线同步任务每次提交上线,会生成一个版本号。支持查看历史版本,支持历史版本间的版本比对,支持开发模式最新版本和历史版本间的版本比对,并支持开发模式回滚至历史版本。
  • 功能使用注意事项:
    • 如果用户没有任务的查看权限,则不可点击“版本记录”按钮置灰不可点,不可查看历史版本和比对历史版本。
    • 如果用户没有任务的编辑权限,则不可点击“回滚”按钮。
  • 功能详细使用步骤:
    • 功能入口:操作-版本记录 EasyData-V7.0-Update10 - 图1

2.【实时同步任务】支持任务导入导出

  • 功能介绍:
    • 支持批量导入和批量导出实时同步任务,提升测试环境和生产环境的任务互通
  • 功能详细使用步骤:
    • 批量导入任务-功能入口: EasyData-V7.0-Update10 - 图2
    • 批量导出任务-功能入口: EasyData-V7.0-Update10 - 图3
    • 导入任务时:
      (1)支持由用户选择任务负责人设置为导出端任务负责人或导入人。
      (2)如果读写的数据源包含:{项目}-{集群}Hive/Arctic/Iceberg数据源,导入任务时将“{导出项目名称}-{导出集群名称}Hive数据源” 替换为“{导入项目名称}-{导入集群名称}Hive/Arctic/Iceberg数据源”。
      (3)引用的数据源替换为目标端同名数据源。(注意:含来源数据源,去向数据源,来源为Oracle增量读取方式为ogg的消息数据源,任务类型为分库分表同步时来源为MySQL-指定binlog日志下的物理数据源,任务类型为分库分表同步时来源为SQLServer-指定ls下的物理数据源。
      (4)支持由用户选择是否需同名覆盖
      如未开启“覆盖同名任务”:仅覆盖uuid相同的任务。uuid是任务的唯一标识,在导入端导入并新建任务时,系统会将新建任务的uuid值赋值为导出端任务的uuid值。任务再次导入时,会按照uuid值匹配对应任务。需要注意:如覆盖时发现导入端已存在与导出端任务名称相同但uuid不同的任务,则导入失败。
      如开启“覆盖同名任务”:则会先根据uuid进行匹配并覆盖对应的任务,如导入端无uuid相同的任务,再用任务名称匹配并覆盖对应的任务。在导入端覆盖同名任务时,系统会将任务的uuid值修改为导出端任务的uuid值。

3.【实时同步任务】来源支持SQLServer

  • 功能介绍:任务类型为多表(Topic)同步或分库分表同步时,来源数据源类型支持SQLServer
  • 功能详细使用步骤:
    • 功能入口: EasyData-V7.0-Update10 - 图4
功能优化

1.【离线同步任务】对接UDF Studio,API作为数据来源支持使用UDF进行前置处理

  • 功能介绍:
    • API包含动态token、动态密钥算法以及前置认证时,支持选取UDF Studio的函数作为前置处理脚本以应对复杂的前置处理逻辑。具体流程为:传输请求API接口数据前会执行UDF,获取UDF处理后的url,header,params和body再去请求API。
  • 功能使用注意事项:
    • 配置任务时,仅可选择当前用户有权限、函数适用产品包含数据传输的UDF。运行任务时,会校验任务执行账号是否有函数权限,如无权限,任务会报错。
    • 任务运行时:
      1)如果函数有测试态,开发模式用函数的测试态,线上模式有函数的线上态
      2)如果函数没有测试态,开发模式和线上模式都用函数的线上态
  • 功能详细使用步骤:
    • 函数使用说明:
      1)实现接口 Function>, Map>>
      2) 传输请求API接口前会调用UDF的apply方法,得到用户处理后的url,header,params和body再去请求API。
      3)建议对UDF的依赖jar进行shade避免冲突。
    • 编码示例:
      public class UDF implements Function>, Map>> { @Override public Map> apply(Map> stringStringMap) { // 请求api的header Map header = stringStringMap.get("header"); // 请求参数(get请求会有) Map paramsMap = stringStringMap.get("params"); // 任务参数包含body(post请求会有)、url、requestType(get/post) Map taskInfoMap = stringStringMap.get("taskInfo"); // 做些你想做的处理逻辑,比如塞点参数进header、paramsMap、body if ("get".equals(taskInfoMap.get("requestType"))) { header.put("appId", "super"); paramsMap.put("searchKey", "111"); } else { header.put("appId", "super"); taskInfoMap.put("body", ""); } // 返回map // 如果是get请求会根据用户处理完返回的header,params,url去请求 // 如果是post请求会根据用户处理完返回的header,body,url去请求 return stringStringMap; } }

2.【离线同步任务】来源为FTP或HDFS、去向为FTP或HDFS、来源读取方式为非结构化时,数据传输distcp技术方案改为spark-distcp,不依赖于Hadoop版本

  • 功能介绍:
    • 原distcp技术方案对客户环境Hadoop版本有要求,此次方案优化后非结构化传输功能可不受限于客户环境的Hadoop版本。

3.【实时同步任务】来源为Oracle时,增量读取方式支持ogg

  • 功能介绍:
    • 部分场景下,Oracle的DBA不支持向数据开发团队开放Oracle数据库的CDC binlog读取权限,而是将Oracle数据源下多个库表的CDC binlog数据同步至Kafka的同一topic下。为下游应用方便,数据开发需要通过数据传输将同一topic下按照Oracle表进行数据分发,将每一张Oracle表的数据分别分发至不同的去向表。
  • 优化后功能使用步骤:
    • 功能入口: EasyData-V7.0-Update10 - 图5

4.【整体】对接安全中心-产品访问权限控制

  • 功能介绍:在安全中心项目级别给角色/成员勾选数据传输的产品页面访问配置后,用户才可访问数据传输页面,否则访问会报错。 EasyData-V7.0-Update10 - 图6

5.【离线同步任务】提交离线同步任务时增加二次确认

  • 功能介绍:为避免用户误提交影响线上任务,提交离线同步任务时增加二次确认。 EasyData-V7.0-Update10 - 图7

6.【离线同步任务】增加Ops参数,用于在平台粒度配置数据去向为Kudu时是否批量转换与去向字段类型不兼容的来源表字段类型

7.【实时同步任务】增加Ops参数,用于在平台粒度配置数据去向为Kudu时是否批量转换与去向字段类型不兼容的来源表字段类型

8.【实时同步任务】来源为TeleDB、Oracle、MySQL、SQLServer、Kafka-ogg json时支持内置变量

  • 功能介绍:
    • 1、数据来源为MySQL、Oracle、SQLServer、TeleDB,任务类型为分库分表同步或多表(Topic)同步时,自定义表达式支持填写和解析变量:${op}、${op_ts}。${op}表示来源数据库日志中的操作类型,${op_ts}表示来源数据库中的操作时间。
    • 2、数据来源为Kafka,序列化格式为ogg-json时,自定义表达式支持填写和解析变量:${pos}、${op_ts}、${current_ts}、${table}。对应于ogg-json中的首层字段,${pos}表示当前事件在ogg流中的位置${op_ts}表示数据库日志中的操作时间,${current_ts}表示数据库日志的获取时间,${table}表示当前时间对应的表名称。

9.【离线同步任务】Kafka数据源适配Spark3.3版本

10.【实时同步任务】新增插件版本2.x

  • 功能介绍:
    • 历史任务默认版本为1.x,新增任务默认版本为2.x,此功能不影响历史任务。此外,复制任务时,复制创建出的任务与复制的任务的插件版本保持一致;导入任务时,与导出端导出的任务保持一致。

标签画像

版本:v3.7.1

新增功能

1.开启治理流程后,未经过注册的标签支持直接发布

  • 功能介绍:

    • 开启治理流程后,未经过注册的标签可直接发布。
  • 功能使用注意事项:

    • 若开启治理流程后,未经过注册的标签直接发布,此发布态标签为未治理;若经过注册后,经过了申请确权、申请变更安全等级、申请治理等过程后再发布的标签为已治理状态,可在详情页查看是否为已治理的标签。

2.工作组创建时支持设置复合标签、融合表和群组表的存储格式

  • 功能介绍:

    • 在创建工作组时,支持选择该工作组下标签表、融合表和群组表的存储格式,根据选择的不同的查询引擎,支持parguet、text等不同的存储格式,满足不同业务场景下对数据表的存储格式要求。
  • 功能使用注意事项:

    • 若查询引擎选择impala,仅支持parquet和textfile的存储格式。

3.码表同步时支持选择hive或者impala引擎队列

  • 功能介绍:

    • 码表同步时,之前默认为impala队列执行,无法满足集群下没有Impala队列场景下码表同步的需求,故新增hive/impala的引擎选择。

4.群组元数据支持推送kafka通道类型

  • 功能介绍:

    • 群组元数据支持推送到kafka的通道类型,推送内容包含群组ID、群组名称、查询标识ID、计算的业务日期、覆盖数、人群包所在地址、操作人、操作时间、查询时标识名称、表达式和所属对象ID。
  • 功能使用注意事项:

    • 目前推送的通道类型仅支持kafka,kafka数据源来源于在控制台"数据源管理"处登记的kafka数据源。

5.群组详情页增加引用详情,包括被别的群组引用和被标签画像API引用。

  • 功能介绍:

    • 群组详情页增加引用详情,支持查看当前群组被其他群组引用或者被标签画像API引用。
  • 功能使用注意事项:

    • 由于标签以项目组-集群下的工作组为基本管理单位,数据服务以项目为基本管理单位,故引用详情可通过标签画像API所属项目、所属集合唯一定义被哪个API引用。

6.ops上支持配置办公网/非办公网场景下查看不同的产品功能模块

  • 功能介绍:

    • 在Ops侧支持合规性配置,可在办公网/非办公网下查看产品的不同功能模块,比如办公网下不可见群组管理、画像分析模块(涉及敏感数据)。
  • 功能使用注意事项:

    • 在Ops侧,参数datagovernanceRefresh 配置值为 open ,配置生效后,群组管理、画像分析模块,访问会强制刷新页面,进而可以在nginx拦截。
功能优化

1.完善主标识下线后,无法更换其他字段作为主标识的逻辑

  • 功能介绍:

    • 主标识下线后,通过编辑对象操作,无法更换其他字段作为主标识,也无法重新选择原本的字段作为主标识,导致无法更换主标识。
    • 修复逻辑为:下线主标识后,若对该主标识重新申请治理,更换其他字段作为主标识,流程支持;若下线主标识后,对对象进行编辑,更改其他字段作为主标识,由于同一个对象下不允许存在两个主标识,故之前已经下线的主标识将退化为"标识"。
  • 功能使用注意事项:

    • 若下线主标识,通过编辑对象更换了其他字段作为主标识,则之前已经下线的主标识将退化为"标识"。

2.修复非数据治理管理员对已确权的草稿绿点标签(表示为草稿态但存在已发布版本)进行编辑或者删除时的报错提示

  • 功能介绍:

    • 非数据治理管理员对已确权的草稿绿点标签进行编辑或删除时会提示只有数据治理管理员可进行修改,但此时主管部分并不可以更改成员,修改该问题,允许非数据治理管理员进行编辑或删除。

3.完善通过导入的方式创建标签时,增加公开属性的判断

  • 功能介绍:

    • 创建标签时,对于公开属性字段,行为标签可选择公开或私有,基础标签若为标识或主标识类型,只可选择公开。
  • 功能使用注意事项:

    • 若基础标签为标识或主标识,选择了私有,则会增加错误判断。

4.修复对原有工作组编辑存储数据库时的报错

  • 功能介绍:

    • 已创建成功的工作组,编辑存储数据库时,报错改工作组下已有对象,但本质该工作组下并未创建任何对象/标签。

5.标签引用详情功能完善,标签画像API增加所属项目和所属集合信息。

  • 功能介绍:

    • 由于标签以项目组-集群下的工作组为基本管理单位,数据服务以项目为基本管理单位,故引用详情可通过标签画像API所属项目、所属集合唯一定义当前标签被哪个API引用。

6.公开属性默认为公开

  • 功能介绍:

    • 创建标签时,公开属性由原本默认为私有,优化为默认为公开。

7.交互视觉优化

  • 功能介绍:

    • 编辑工作组时,若切换查询引擎,会误判没有选择的交互优化。

8.交互优化,删除增加二次弹窗确认

  • 功能介绍:

    • 审批策略删除、群组删除均增加二次弹框确认。

9.导入标签,增加空模板判断规则

  • 功能介绍:

    • 之前对于空模板,会直接提示导入成功,增加使用误解,修改为会直接提示当前模板里无内容,请调整后重新上传。

10.标签列表更多中增加引用详情

  • 功能介绍:

    • 标签列表中,更多下增加引用详情,不需要到标签统计中单独再找某个标签的引用详情。