一、关于Dataphin(智能数据建设与治理)
Dataphin是瓴羊旗下的智能数据建设与治理平台,是阿里巴巴多年内部数据建设与治理实践及方法论的产品化输出,致力于通过一站式智能化的数据建设及治理能力,帮助企业构建起生产经济、质量可靠、安全稳定、消费便捷的企业级数据资产。
二、Dataphin V3.13 版本升级功能点
01- 一站式数据汇聚处理,降低中台建设起步成本
- 国产化适配:支持国产信创数据库PolarDB-PG作为Dataphin的元数据库
- 多数据源支持:新增Amazon S3数据源用于离线集成、TDenging数据源用于数据服务
- 资源调度:可注册自定义调度集群,减少跨集群数据传输流量消耗
- 跨租户发布:支持数据标准、数据安全对象的跨租户发布
02-研发体验优化,加速企业数字能力建设
- 离线集成:新增离线集成任务列表,支持快速筛选任务并进行批量操作
- 实时研发:新增实时计算任务列表,支持批量操作实时任务;Flink vvp引擎下支持配置任务监控告警;Flink SQL支持引用示例代码快速创建任务
- 规范建模:适配 ArgoDB 引擎
- 调度:支持 SQL 离线计算任务模板;新增跨节点参数用于上下游任务之间的变量传递,并可用于配置条件调度
- 运维:实例列表支持实例名称、定时运行时间、开始运行时间、结束运行时间、运行时长进行升降序排序;支持批量运行手动任务;支持批量修改逻辑表任务的运维负责人和优先级
03-数据治理能力提升,保障企业数据质量与安全
- 标准:对标规则配置更灵活、标准属性可按需排序、一键查看关联标准/码表
- 质量:新增质量知识库助力治理经验沉淀、自定义SQL 规则能力强化、告警信息更丰富
- 安全:内置金融行业分类分级模板
04-数据运营体系完善,助力企业最大化数据资产价值
- 分析平台:新增手工表功能,支持在页面上编辑数据后更新至生产表
- 数据服务:支持网关配置、项目级API发布管控配置、直连API 新增Hbase和TDengine数据源类型并支持高级SQL支持动态查询
三、新版本重点特性详解及应用场景示例
特性 1:新增数据处理单元用量统计大盘
应用场景:
1、希望了解企业数据处理单元的整体消耗趋势,主要消耗在哪些任务类型上,以判断开发任务分布是否合理、是否需要扩容
2、日常盘点统计:哪些项目消耗的数据处理单元最多?那些项目最近一个月的消耗增量最多?每个项目都主要消耗在哪些类型的任务上?
功能概览:
1、展示每个租户的数据处理单元当前总用量,以及按照任务类型任务拆分的分别的用量,同时展示同环比和月同比。
2、支持查看最近1年数据处理单元总量、每种类型任务对应的单元量的消耗趋势图。
3、支持查看每个项目的数据处理单元消耗排行,包括:数据处理单元总消耗量 Top10项目、最近1个月数据处理单元消耗增量的 Top10项目、项目消耗明细数据。
特性 2:支持自定义消息渠道
应用场景:
某企业使用自有的消息渠道进行内部消息的发送与接收,该消息渠道不属于电话、短信、邮件和钉钉群机器人中的任何一种,企业需要将Dataphin的告警消息发送到该消息渠道中。
功能概览:
1、支持在租户中增加自定义消息渠道,并通过渠道设置的开关管理所有自定义渠道的生效状态。
2、支持在运维、质量模块引用自定义消息渠道作为告警接收方式。
特性 3:丰富一键转交功能支持的对象
应用场景:
小A是公司的运维人员,主要负责生产环境任务的监控和问题排查、任务的手动执行与补数据,同时也负责任务产出表的日常权限审批。因个人原因,小A即将离职,在离职前需要将自己所负责的任务和数据表一键转交给交接同事。
功能概览:
1、一键转交功能接入运维的任务负责人、告警接收人和数据表负责人。
2、支持成员对个人账号权限进行一键转交。
3、支持超级管理员和系统管理员转交所有非超管账号的权限。
特性 4:自定义注册调度集群助力降低跨集群数据传输成本
应用场景:
1、Dataphin部署在本地机房,需要将某个云上业务库A的数据集成到与A在同一Region下的业务库B
2、Dataphin 开通了多个租户,每个子公司使用一个租户。由于业务形态不同,每个租户使用的数据库分布于不同的云平台,希望能够在一套 Dataphin 中连接不同云平台的数据库,并且尽可能降低跨集群调度的资源消耗,提升单独租户内的数据同步效率。
功能概览:
1、支持注册自定义集群,通过机器打标指定集群中可用于 Dataphin调度的机器并向 Dataphin 上报可用资源信息。
2、支持配置每个集群的可用关联租户,实现资管隔离管控。
3、支持基于自定义集群创建自定义资源组,使用自定义集群调度资源的任务运行时不会与 Dataphin 产生数据交换,从而减少跨 region 数据传输等场景下的流量带宽消耗,提升同步效率。
如场景 1 描述的问题,基于本次新增的功能,就可以在云平台上通过“容器管理服务”创建K8s集群,指定可用于Dataphin任务调度的机器,再将该集群注册到Dataphin中并创建对应的自定义资源组。创建集成任务时,为任务指定对应集群下创建好的调度资源组,即可实现同一region下的数据传输,而无需与Dataphin集群产生数据交换。
特性 5:支持排他编辑锁,编辑研发对象时,防止其他人强制获取锁导致本次编辑内容无法保存,提升协同开发体验
应用场景:
旧版本问题场景: 当用户 A 编辑对象 object 未保存,用户 B 可以获取 object 的锁,当A试图保存object时,系统将告知无锁不能保存。而重新获取锁,将丢失所有未保存内容。
功能概览:
- 可在租户级开启排他编辑锁(默认不开启),可设置持锁时长和自动释放锁的机制。
- 开启排他编辑锁后,某个研发对象 object 被用户 A 锁定后,除用户 A 主动释放锁或在持锁时长(默认 30 分钟,可配置)内无任何编辑动作之外,其他用户不可强行获取该对象的编辑锁。用户 A 对该对象的每一次编辑动作(如: 改写代码,修改属性,保存 等)均会延续持锁时长。
特性 6:集成任务支持任务列表和批量操作,降低人工操作成本
应用场景:
- 在大量任务中根据任务属性搜索任务:如在某个业务数据库有变动时,可搜索来源数据源为这个业务数据库的所有集成任务,进行查看与修改。
- 对于一批集成任务进行相同的批量操作:如批量下线任务;因业务需求变更,批量更改集成任务调度时间等。
功能概览:
- 支持按条件搜索任务:可根据来源与目标数据源、数据表搜索;也可根据任务状态、调度类型、负责人等信息搜索。
- 支持批量操作:包括批量修改调度、依赖、参数、运行与通道配置;以及任务批量移动、提交、下线与转交负责人等操作。
- 支持查看操作记录:可查看每个任务的操作时间、操作类型与操作状态。
特性 7:支持跨节点参数在上下游节点间传递参数
应用场景:
- 上游节点 A 将某一个变量 var 传递给下游节点 B, var 被B的计算逻辑引用. 比如, 在金融客户中, 汇率存放在引擎的一张物理表, 有大量的节点在计算过程中都需要用到汇率. 可以通过一个Python节点读取物理表中的汇率存放到一个变量中, 将该变量传递给下游的节点使用.
- 上游节点A将某一个变量 var 传递给下游节点 B, B将根据 var 的取值来决定运行策略. 比如: 上游节点A获取某远程服务的的状态, 如果远程服务状态为"停止", 则A的下游节点B将空跑运行. A需要将远程服务的状态以变量的方式传递给B.
功能概览:
- 在 shell/python/SQL 节点中可以定义并输出跨节点参数,下游节点可将上游节点传递的跨节点参数赋值给本地变量后,在代码或计算逻辑中使用。
- 下游节点基于跨节点参数配置条件调度,根据参数值决定调度运行策略(调度时间,是否空跑,是否暂停)
特性 8:支持引用示例代码快速创建实时任务
应用场景:
1、 根据选择的输入输出数据源类型自动生成任务代码并添加相关参数,减少对参数配置不熟悉导致的漏填、误填等情况。
2、 根据选择输入输出数据源类型,自动匹配正确的connector 类型,减少对connector配置不熟悉导致误填。
3、 学习常用函数的使用方法,如窗口函数,去重,Top—N等,可快速应用于实时计算任务创建。
功能概览:
1、内置丰富的实例:快速了解不同数据源、不同实时加工场景的使用方式,如cdc实时数据同步入湖/入仓,kafka实时数据处理等
2、支持一键引用示例代码创建Flink SQL任务:降低操作门槛,快速上手
特性 9:支持实时计算任务列表,支持批量操作实时任务
应用场景:
支持在任务列表可以通过筛选指定条件快速定位目标实时任务并进行批量操作,如:为了保证大促期间实时指标及时准确产出,在大促前需要找出一批相关的实时任务进行资源配置的调整。
功能概览:
1、新增实时任务列表,可清晰、直观地预览任务概要信息,包括:任务提交状态、负责人等
2、支持搜索与筛选:可根据计算任务名称或ID等进行搜索,也支持不同筛选条件组合,如:最近一个月创建的已提交发布的任务,快速圈选目标任务,
3、支持批量操作:包括批量提交、批量下线、批量移动目录、批量修改资源配置等,并可查看批量操作记录,提升操作效率
特性 10:运维中心易用性提升:实例列表支持排序、批量运行手动任务、逻辑表支持修改负责人
应用场景:
- 帮助分析实例运行情况,排查问题,如看当天某一时段的哪些任务在运行,或者哪些是运行时间较长的任务
- 在跨租户发布物理表时,需要通过手动任务的方式进行DDL语句的管理和发布,在生产环境中建表需要通过执行手动任务进行创建,每个任务都需要单独操作一次,操作繁琐。
- 对项目下大批量任务划分运维负责人
功能概览:
- 实例列表支持排序:周期实例及补数据实例支持按照定时运行时间、开始运行时间、结束运行时间、运行时长进行升降序排序
- 批量运行手动任务:支持在运维模块批量运行手动任务,支持配置业务日期。
- 逻辑表支持修改负责人和优先级:支持在运维模块批量修改逻辑表任务的运维负责人和优先级
- 周期实例和补数据实例页面,展开dag图时左侧列表信息优化,可展示实例名称、业务日期、运行状态
特性 11:标准模板属性可按需排序,支持一键查看关联标准/码表
应用场景:
1、标准填报人员在编辑数据标准时,通常有一定的填写习惯,如:先填写业务属性,再填写技术属性;此外,不同属性之间可能会有关联关系,如:先填写一级管理部门,再填写二级管理部门,因此,需要支持灵活的标准属性排序。
2、指标标准常需要查看关联的统计维度对应的标准定义;此外,用码表定义值域范围的标准,希望快捷查看关联码表定义。以上两种情况,都可以通过给标准增加“关联信息”实现快捷查看。
功能概览:
1、标准模板属性支持排序、支持快捷预览当前配置对应的新建标准样式,判断是否满足预期。
2、支持配置关联标准、支持根据属性值配置自动识别关联码表;可在标准属性抽屉统一查看关联信息,并一键跳转查看关联对象详情。
特性 12:落标映射规则运算符新增“属于(in)”,对标配置更灵活
应用场景:
当资产对象的元数据字段值为单值,标准的属性值为多值的时候,需要通过 in 运算符将两者进行关联运算。如:标准“会员ID”有一个属性为“字段常用名”,用自定义文本的方式定义了该标准映射到的字段名称通常包含:member_ID,customer_ID,cus_id,member_id。在配置落标映射规则的时候,可以新增一条映射配置为:字段名称 属于(in) 字段常用名, 就可以将标准和其相关的字段通过“常用名”信息关联起来。
功能概览:
1、落标映射规则-映射配置部分新增“属于(in)”运算符:
- 枚举多选属性、引用码表定义的范围值属性:系统自动分隔属性值,无需额外配置
- 自定义输入的属性:可自行定义多个属性值分隔符,可灵活适配不同场景。
特性 13:新增质量知识库,助力沉淀治理经验
应用场景:
利用质量知识库,沉淀治理过程中沉淀下来的经验,包括:背景、原因、建议的解决方案、相关的规章制度或法规文件;在解决完质量问题发起验收流程时,可以关联已有的知识,作为其他相关问题的参考建议。
功能概览:
1、支持新建知识库,可配置问题原因和解决方案,并且可关联质量规则,手动上传相关文件,便于了解该知识相关的质量问题、相关政策法规或文档。
2、支持在质量规则管理页面,快捷给规则关联已有知识。
3、支持在治理流程中,发起验收和验收通过的时候,快捷关联已有知识。
特性 14:质量自定义SQL能力强化—支持规则模版、批量导入
应用场景:
自定义 SQL 规则常用于定义统计指标较为复杂的校验规则,主要包括:
1、自定义统计指标:用于配置口径复杂、使用频率高的校验指标,如:数值月环比变动>20%
2、自定义数据详情:用于配置需要对数据内容进行加工计算的规则,如:领取过赠品券、最近3个月正装消费金额<20元、消费总次数<=2次的记录,用于分析是否为羊毛党
功能概览:
1、支持新建自定义SQL规则模板,创建质量规则时可直接引用模板实现快速创建。
2、支持批量导入自定义SQL类型的质量规则:
- 支持重复性校验,并可配置重复记录导入策略
- 提供详细的校验提示,支持下载异常记录,以便快速修正后重新导入
- 导入后可批量配置调度、告警,使规则快速生效
特性 15:质量告警及规则校验详情透传关键异常指标,问题定位更快捷
应用场景:
1、推送质量告警时,将异常指标一并推送出去,便于处理人评估问题影响
2、接收到质量告警后,在校验记录中快速查看关键异常指标及中间过程指标,快速定位问题并修正
功能概览:
1、质量告警支持配置发送规则校验的核心指标数据,包括:
- 发送规则的校验配置(如:'正常行数 >= 100 and 异常率 < 10%')与实际校验结果(如:'正常行数 = 100 and 异常行数 = 11%')
- 发送规则的校验配置中涉及到的具体指标值,如:总行数:100,正常行数:80,异常行数:20,正常率:80%,异常率:20%
2、校验记录:优先展示本次的校验指标、再按照配置顺序展示实际计算得到的统计指标值、最后展示为了计算统计指标需要的中间过程指标,便于问题分析与排查。
特性 16:手工表,支持手工编辑数据更新至生产表
应用场景:
- 企业中有一些需要人工更新维护的表,如客户信息维表,业务人员希望能快速将最新数据更新至生产环境。
- 企业会在线下定期收集一些数据,例如考勤数据,汇总到本地Excel文件上,希望可以通过复制粘贴数据的方式,快速更新Dataphin的表数据。
- 一些表需要多人合作填写的表,在所有人都编辑完成后,由表负责人更新表数据。
功能概览:
- 支持在分析平台创建生产环境的非分区手工表,可在页面上灵活编辑数据并更新生产表。
- 支持表负责人分享手工表,并依照现有权限体系管控被分享者的对表的各类权限。
- 支持手工表的发布版本管理,可查看每个发布版本的发布时间,发布人与发布类型。
- 支持导入本地文件数据至编辑页面。
特性 17:数据服务支持网关页面配置
应用场景:
场景1:购买网关服务,在系统页面配置网关信息并完成网关初始化。
功能概览:
- 购买网关服务获取到网关配置信息后,在服务->管理->网络配置->网关配置填写对应网关配置信息,完成网关配置并初始化成功后就可以将服务发布到网关上给下游调用。
- 在无网关模式下,不依赖网关的功能,如:创建项目、创建服务单元、创建API(草稿态)等可以正常使用。
特性 18:支持项目粒度配置API发布管控机制
应用场景:
支持按需给不同项目配置不同的发布管控机制:
- 项目下的API比较重要、变更影响范围较大时,可以选择较严格的发布管控机制,不允许API发布变更,保障下游正常调用;
- 项目下的API变更导致下游调用失败造成的影响面较小、或者可以及时通知到下游变更信息时,可以选择宽松的发布管控机制,允许API发布变更;
功能概览:
- 在项目管理,可以配置归属该项目的API的变更管控机制;
- 在API发布变更时,根据API所属项目配置的管控机制判断是否允许API发布变更,支持4种发布管控机制:
- 绑定应用或者被组合API引用时,拦截不允许发布:适用于保障下游应用和组合API正常调用;
- 绑定应用时,拦截不允许发布:适用于仅需保障下游应用正常调用API;
- 被组合API引用时,拦截不允许发布:适用于仅需保障组合API的正常调用,下游主要调用的是项目中的组合API;
- 不拦截,均可发布:适用于项目下的API需要频繁变更,且变更发布到线上后对下游影响范围小;
特性 19:Dataphin JDBC Driver可直连Dataphin项目内数据
应用场景:
用数据服务的Dataphin数据源需要申请应用,并且需要为应用重新赋权,无法与用户在Dataphin内申请的权限保持一致。怎样才能访问到Dataphin的数据,并保持一样的用户权限。为此,我们增加了Dataphin JDBC Driver的功能,提供通过JDBC连接Dataphin数据源的方式,方便Dataphin内数据的访问。
功能概览:
1、通过Dataphin JDBC 安Driver可直接访问Dataphin项目的物理表及逻辑表;
2、用户的权限与Dataphin内的用户的访问权限(数据权限、项目访问权限)保持一致;
3、支持选择计算引擎(根据项目绑定的计算引擎有所不同),如配置了Impala后,可选择使用Impala或者Hive作为计算引擎
4、支持简单及代理模式的认证模式
四、结语
本次发布的V3.13 版本中,Dataphin 不仅提升了易用性,支持了计算任务批量操作(离线集成&实时计算任务)、运维列表查看及批量操作(实例排序、手动任务批量运行、逻辑表任务修改负责人)等功能;也新增了多个特色功能,如:任务传参及灵活调度(跨节点参数)、治理经验沉淀(质量知识库)、资产治理相关对象的跨租户发布(数据标准、安全)、跨集群资源调度、分析平台手工表等,以满足灵活、多样性的业务诉求。
在下一个版本中,Dataphin 将支持 MySQL、Oracle 任务调度、SparkSQL 任务、Python 三方包统一管理、码表/词根批量导入导出、质量规则区分告警配置、血缘关系自动继承分类分级等功能,还有很多其他新增能力与功能升级,敬请期待。