本文为您介绍DataWorks中,数据集成、数据建模、数据开发、数据分析、数据服务等模块开发过程中涉及的相关基本概念。
通用概念
工作空间
工作空间是DataWorks管理任务、成员,分配角色和权限的基本单元。工作空间管理员可以我工作空间加入成员,并赋予工作空间管理员、开发、运维、部署、安全管理员或访客角色,以实现多角色协同工作。
建议您根据部门或业务板块来划分工作空间。
资源组
DataWorks资源组属于DataWorks的基础服务,为DataWorks上的各个功能模块提供计算资源,DataWorks资源组是您正常使用DataWorks的前提。资源组的状态将影响到相关功能的稳定运行,资源组的配额将影响任务或服务运行的效率。
DataWorks资源组与阿里云账号下的资源组不同,阿里云账号下的资源组是进行资源分组管理的一种机制,帮助您解决单个阿里云账号内的资源分组和授权管理的复杂性问题。与DataWorks产品所说的任务运行使用的资源组为两个概念,请注意区分。
DataWorks产品中使用的资源组,若无特指旧版资源组,均指Serverless资源组,其用途为通用型。
Serverless资源组,可应用于数据集成、数据调度以及数据服务。
简单模式与标准模式
为方便不同安全管控要求的用户生产数据,DataWorks为您提供简单模式和标准模式两种工作空间模式。标准模式下,一个DataWorks工作空间对应两个数据源,可以将开发和生产环境的数据源隔离。
计算资源
计算资源是计算引擎用于执行数据处理和分析任务的资源实例,如MaxCompute项目(Quota组)、Hologres实例等。
一个工作空间支持添加多种数据源实例。其中,在数据开发中绑定MaxCompute、Hologres、AnalyticDB for PostgreSQL、AnalyticDB for MySQL 3.0、ClickHouse、E-MapReduce和CDH/CDP数据源后,即可在工作空间开发和调度计算资源的相关任务。
数据集成
数据源
DataWorks数据源用于连接不同的数据存储服务。在配置数据集成同步任务之前,您需要首先定义好同步任务的源端和目的端数据源信息,以便在配置同步任务时,能够通过选择数据源名称来确定数据的读取和写入数据库。一个工作空间支持添加多种数据源实例。
数据同步
数据集成数据同步支持结构化(例如RDS、DRDS等)、半结构化、无结构化(OSS、TXT等)的数据同步。即数据集成仅支持传输能够抽象为逻辑二维表的数据,不支持同步OSS中存放完全非结构化的数据(例如一段MP3)。数据同步支持多种同步方式,如离线同步、实时同步、单表/整库全增量同步等,除此之外,还支持Serverless同步任务(Serverless同步任务无资源组概念,只需关注同步任务本身)。
数据建模
数据建模
随着业务的快速发展,企业数据呈几何倍增长,数据量庞大、复杂、各类数据间标准不一致,往往会出现数据难以管理的现象。DataWorks数据建模服务,将无序、杂乱、繁琐、庞大且难以管理的数据,进行结构化、有序的管理。使企业中的数据产生更多的价值,将数据价值最大化。
逆向建模
逆向建模是将物理表逆向生成逻辑模型,该功能帮助您无需再次执行建模操作即可快速创建模型,节省了大量的时间成本。
建模空间
当您所需要管理多个DataWorks工作空间且需要复用一套数仓规划时,面对跨多个工作空间的复杂数据体系,可以通过设计空间来共享一套数据建模工具,针对整个数据体系进行统一的数仓规划、维度建模及指标定义等工作。
维度表
结合业务的数据域的规划,提取出各业务数据域中进行数据分析时可能存在的维度,并将维度及其属性通过维度表的方式存储下来。例如,在进行电商业务数据分析时,可用的维度及其属性有:订单维度(属性包括订单ID、订单创建时间、买家ID、卖家ID等)、用户维度(性别、出生日期等)、商品维度(包括商品ID、商品名称、商品上架时间)等,此时您就可以将这些维度和属性创建为订单维度表、用户维度表、商品维度表等,将维度属性记录作为维度表的字段。
明细表
结合业务过程的规划,梳理分析各业务过程中可能产生的实际数据,将这些实际数据字段通过明细表的方式存储下来。例如,在下订单这一业务过程中,您可以创建下订单这一明细表,用于记录下单过程可能产生实际数据字段,例如订单ID、订单创建时间、商品ID、数量、金额等。后续您可将这些明细表部署到数仓中,通过ETL将真实的数据按照明细表的定义方式进行汇总存储,便于业务分析时取用。
汇总表
汇总表用于组织一个数据域下相同时间周期、相同维度的多个派生指标的统计数据,是对业务高度抽象后的梳理结果,为后续的业务查询,OLAP分析,数据分发等提供基础。
应用表
应用表是面向具体业务场景,用于组织相同时间周期、相同维度的多个原子指标、派生指标或统计粒度的统计数据,为后续的业务查询,OLAP分析,数据分发等提供基础。
数据集市
数据集市是基于业务分类,面向特定应用场景或者产品的数据组织。通常位于数据应用层,依赖于公共层的整合数据。
数仓规划
使用DataWorks进行数据建模时,数仓架构师或者模型小组成员可以在数仓规划页面对数据分层、业务分类、数据域、业务过程、数据集市、主题域进行设计。完成设计后,模型设计师在建模过程中可以依赖数仓规划中的数据分层、业务分类、数据域、业务过程等对所建模型进行分层化域管理。
贴源层:用于数据库、日志、消息等基础源数据的引入。源数据经过一系列ETL操作进入贴源层,该层级只能挂载贴源表。
公共层:用于加工、整合贴源层输入的公共数据,建立统一的指标维度,构建可复用面向分析和统计的明细事实数据和汇总数据。该层级可挂载明细表、维度表、汇总表。
应用层:基于实际应用需求,获取公共层加工整合后的数据,面向具体应用场景或指定产品进行的个性化数据统计。该层级可以挂载应用表、维度表。
数仓分层
DataWorks的数仓分层功能,默认为您创建了数据引入层ODS(Operational Data Store)、公共维度层DIM(Dimension)、明细数据层DWD(Data Warehouse Detail)、汇总数据层DWS(Data Warehouse Summary)及应用数据层ADS(Application Data Service)等五层,各个分层的功能介绍如下:
数据引入层 ODS(Operational Data Store)
ODS层用于接收并处理需要存储至数据仓库系统的原始数据,其数据表的结构与原始数据所在的数据系统中的表结构一致,是数据仓库的数据准备区。
明细数据层 DWD(Data Warehouse Detail)
DWD层通过企业的业务活动事件构建数据模型。基于具体业务事件的特点,构建最细粒度的明细数据表。您可以结合企业的数据使用特点,将明细数据表的某些重要维度属性字段适当冗余,即宽表化处理。同时,也可以减少明细数据表及维度表的关联,提高明细表的易用性。
汇总数据层 DWS(Data Warehouse Summary)
DWS层通过分析的主题对象构建数据模型。基于上层的应用和产品的指标需求,构建公共粒度的汇总指标事实表。
应用数据层 ADS(Application Data Service)
ADS层用于存放数据产品个性化的统计指标数据,输出各种报表。
公共维度层 DIM(Dimension)
DIM层使用维度构建数据模型。可基于实际业务,存放逻辑模型的维度表;或存放概念模型的维度定义,通过定义维度,确定维度主键,添加维度属性,关联不同维度等操作,构建整个企业的一致性数据分析维表,帮助您降低数据计算口径和算法不统一的风险。
主题域
主题域用于将数据集市按照分析视角进行划分,通常是联系较为紧密的数据主题的集合。您可以根据业务的关注点,将这些数据主题划分至不同的主题域。例如,电商行业通常分为交易域、会员域、商品域等。
数据域
数据域是联系较为紧密的数据主题的集合,通常是根据业务类别、数据来源、数据用途等多个维度,对企业的业务数据进行的区域划分,将同类型数据存放在一起,便于您快速查找需要的内容。不同使用目的数据,分类标准不同。例如,电商行业通常分为交易域、会员域、商品域等。
业务过程
业务过程是企业在指定的数据域中所执行的业务活动,是数据建模所需要分析的逻辑主体。例如,交易域中可以有加入购物车、下单、支付等业务过程。
复合指标
由于派生指标只是针对某业务活动某段时间的数据量统计,无法满足贴近用户实际使用的业务增长率、差值计算等数据的比对需求(例如,统计某业务活动的周环比增长率)。因此,DataWorks为您提供了由派生指标通过运算规则进行计算而形成的复合指标,帮助您更加灵活且细粒度地定义业务指标。
数据指标
DataWorks的数据建模提供数据指标功能,为您提供统一的指标体系建立能力。
指标体系由原子指标、修饰词、时间周期和派生指标构成。
原子指标:是基于某一业务过程下的度量,如“支付订单”业务过程中的“支付金额”。
修饰词:是对指标统计业务范围的限定,如限定“支付金额”的统计范围为“母婴类产品”。
时间周期:用于明确指标统计的时间范围或者时间点,如指定统计“支付金额”的时间周期为“最近7天”。
派生指标:由原子指标、修饰词、时间周期组合定义。如,统计“最近7天”“母婴类产品”的“支付金额”。
标准代码
标准代码是字段标准的取值范围,在标准代码中可设置某一字段标准可选择的数据的内容以及范围。例如性别字段标准的标准代码内容应该为男或女。
字段标准
字段标准是对含义相同但字段名称不同的数据进行统一规范管理的数据准则,字段标准可定义字段的取值范围、度量单位等内容。当字段标准发生变化时可快速定位或变更对应的表,极大地提升了应用效率和准确率。
数据开发
节点
DataWorks的数据开发模块为您提供多种类型的节点,包括用于数据同步的数据集成节点,用于数据清洗的引擎计算节点(例如,ODPS SQL、Hologres SQL、EMR Hive),以及可对引擎计算节点进行复杂逻辑处理的通用节点(例如,可统筹管理多个节点的虚拟节点、可循环执行代码的do-while节点),多种节点配合使用,满足您不同的数据处理需求。
业务流程
针对业务实体,抽象出业务流程的概念,帮助您从业务视角组织代码的开发,提高任务管理效率。
说明业务流程可以被多个解决方案复用。
业务流程帮助您从业务视角组织代码:
支持基于任务类型的代码组织方式。
支持多级子目录(建议不超过四级)。
支持从业务视角查看整体的业务流程,并进行优化。
支持根据业务流程组织发布和运维。
提供业务流程看板,帮助您更高效地进行开发。
SQL 组件
仅适用于MaxCompute,您可以将SQL中的通用逻辑抽象为组件,提高代码的复用性。
SQL代码的处理过程通常是引入一到多个源数据表,通过过滤、连接和聚合等操作,加工出新的业务需要的目标表。组件是带有多个输入参数和输出参数的SQL代码过程模板。
依赖关系
任务间通过依赖关系定义任务的运行顺序。如果节点A运行后,节点B才能运行,我们称A是B的上游依赖,或者B依赖A。在DAG中,依赖关系用节点间的箭头表示。
业务日期
通常指的是与业务活动直接相关的日期,这个日期反映了业务数据的实际发生时间。这个概念在离线计算场景中尤为重要,例如在零售业务中,您需要统计20241010日的营业额,往往会在20241011日凌晨再开始计算,这时所计算出来的数据实际是20241010日的营业额,这个20241010,就是业务日期。
输出名称
输出名称:每个任务(Task)输出点的名称。它是您在单个租户(阿里云账号)内设置依赖关系时,用于连接上下游两个任务(Task)的虚拟实体。
当您在设置某任务与其它任务形成上下游依赖关系时,必须根据输出名称(而不是节点名称或节点ID)来完成设置。设置完成后该任务的输出名也同时作为其下游节点的输入名称。
说明输出名称可以作为某个Task在同租户内,区别于其它Task的唯一概念对象,每个节点的输出名称默认为
工作空间名称.系统生成9位数字.out
。您可以对Task增加自定义输出名,但需要注意输出节点名称在租户内不允许重复。输出表名
输出表名建议配置为当前任务的产出表,正确填写输出表名可以方便下游设置依赖时确认数据是否来自期望的上游表。自动解析生成输出表名时不建议手动修改,输出表名仅作为标识,修改输出表名不会影响SQL脚本实际产出的表名,实际产出表名以SQL逻辑为准。
说明节点的输出名需要全局唯一,而输出表名无此限制。
调度参数
调度参数是代码中用于调度运行时动态取值的变量。代码在重复运行时若希望获取到运行环境的一些信息,例如日期、时间等,可根据DataWorks调度系统的调度参数定义,动态为代码中的变量赋值。
运维中心
定时时间
用户为周期任务设置预期执行的时间点,可精确到分钟级别。
重要影响任务运行的因素较多,并不意味着定时时间到了,任务就会立即执行。在任务执行前,DataWorks会检测上游任务是否运行成功、定时时间是否已达到、调度资源是否充足,当上述条件均已满足后,才开始正式触发任务的运行。
业务日期
通常指的是与业务活动直接相关的日期,这个日期反映了业务数据的实际发生时间。这个概念在离线计算场景中尤为重要,例如在零售业务中,您需要统计20241010日的营业额,往往会在20241011日凌晨再开始计算,这时所计算出来的数据实际是20241010日的营业额,这个20241010,就是业务日期。
周期任务
指根据用户设定的调度周期,由调度系统自动触发执行的任务。在运维中心的周期任务列表中,您可以对任务进行一系列的运维和管理操作,如查看任务的DAG图、测试运行、补数据以及修改任务责任人等。
周期实例
指根据周期任务的调度配置,自动生成用于执行的任务实例。例如某个任务设置为每小时调度一次,则平台一天会生成24个任务实例,每小时会自动触发一个任务实例的运行,只有实例才有运行状态等信息。在运维中心的周期实例列表中,您可以对实例进行一系列的运维操作,如终止运行、置成功、重跑等。
补数据
根据您指定的任务和选定的时间段,自动生成补数据任务实例。补数据功能主要应用于历史数据回刷和数据修正。通过补数据功能,您可以针对任意过去或未来的时间段重新计算数据,以保障数据的完整性和准确性。
基线
根据您设置的基线优先级、承诺完成时间、预警余量等配置,自动监控基线上的所有任务,对所有影响任务按时产出的风险进行预警。基线优先级的数字越大,优先级越高,DataWorks会对高优先级基线上的任务进行资源倾斜,保障任务的产出时间。基线的预警余量主要是预留处理异常的时间,DataWorks会用承诺完成时间减去预警余量,计算出预警时间,如果任务无法在预警时间内产出,平台会及时发出预警,将风险告知给相关业务方。
数据治理中心
健康分
健康分是衡量数据资产健康状况的一个综合指标,范围从0到100,数值越大则代表数据资产的健康度越高。它基于数据治理项,采用预定义的模型进行量化评估,反映当前租户、工作空间或个人的数据治理成效。健康分体系可细分为存储、计算、研发、质量和安全等五个健康度领域维度,每个维度均有相应的健康分指标,帮助用户简化理解成本,直观了解资产状态。
治理项
治理项指在数据治理过程中识别资产需要优化或解决的问题点,覆盖研发规范、数据质量、安全合规、资源使用率等方面的问题。治理项分为强治理项和可选治理项,前者默认开启且不可更改,后者则根据实际需求选择启用。例如,任务运行时间超长、连续出错节点、无人访问叶子节点等均为治理项。
检查项
检查项是作用于数据生产流程的主动式治理机制,可在数据任务提交、发布等关键环节进行前置检查,判断代码或数据是否存在潜在问题,如是否存在全表扫描、调度依赖配置是否缺失等。当检测到不符合要求内容时,会生成检查项事件,系统自动进行拦截处置,从而约束和管理开发流程,确保数据处理的标准化和规范化。
数据治理计划
数据治理计划围绕不同治理场景提供治理计划模板,以周期时间内的治理目标为导向,快速选择强相关的治理项和检查项,圈定可优化对象,帮助负责人持续跟踪数据治理成效,通过量化评估,推动团队及时达成治理目标。
知识库
知识库包含数据治理中心内置的检查项及治理项定义,可帮助数据治理人员快速识别和了解治理过程中遇到的具体问题,并提供解决问题的参考信息和实践指导,提升人员治理效率。
安全中心
数据质量
质量监控
质量监控指持续跟踪和检测数据对象(如分区表的具体分区)的状态和变化的过程,确保其符合预设的质量要求,发现并解决可能影响数据质量的问题。在DataWorks中,可以通过设置通过调度事件触发的质量监控,来自动执行质量校验,并将质量结果告警给相关负责人。
质量规则
质量规则是评估数据质量是否符合预期要求的具体条件或逻辑判断标准。例如,“客户年龄不能小于0岁”等都属于质量规则。在DataWorks里,您可以根据业务需求灵活配置不同的质量规则,并将其应用于相应的数据范围进行验证。当发现不符合规则预期的数据时,系统会自动识别并进行质量告警。
规则模板
规则模板是预定义好校验逻辑的质量规则样例,您可以直接使用或者根据需要进行校验阈值修改,然后创建符合自己需求的质量规则。DataWorks提供了多种类型的规则模板供选择,同时也支持通过自定义SQL创建新的模板:
数据保护伞
数据分类分级
用于对您当前的数据按照数据价值、内容敏感程度、影响和分发范围进行敏感级别划分。不同敏感级别的数据管控原则和数据开发要求存在差异。
敏感数据识别规则
根据数据的来源、用途,定义数据分类并配置敏感字段类型,识别当前工作空间中的敏感数据。DataWorks提供了内置数据分类及识别规则,您也可根据需要自定义数据分类及敏感数据识别规则。
数据脱敏规则
用于对识别到的敏感数据配置脱敏规则。根据业务管控要求,不同敏感级别的数据脱敏管控存在差异。
风险识别规则
根据智能化的分析技术,通过风险识别规则,主动发现风险操作并预警。帮助您进行更加全面的风险管理,有效识别并规避风险。
数据地图
元数据
元数据是数据的描述数据,可以为数据说明其属性(名称、大小、数据类型等),或结构(字段、类型、长度等),或其相关数据(位于何处、拥有者、产出任务、访问权限等)。
血缘
数据血缘是用于描述数据在处理、流转和融合过程中形成的关联关系。它通常展示数据是如何被创建、加工、同步直至最终消费的整个过程,以及在这个过程中涉及到的所有数据对象。在DataWorks平台上,通过可视化的方式展示数据之间的血缘关系链路,帮助用户快速定位问题所在,并评估更改某张表或字段可能带来的影响范围。这对于维护复杂的数据处理流程尤其重要。
数据专辑
按照业务视角,进行数据表的类目组织和管理。您可以将指定表等加入目标专辑中进行收纳,实现快速、便捷地检索和定位。
数据分析
SQL查询
SQL查询是使用标准的SQL语句,来查询和分析各类数据源中的数据,详情请参见SQL查询。
电子表格
电子表格是面向数据表格进行在线编辑和管理的工具,支持将SQL查询结果或本地文件中的数据导入至目标电子表格进行进一步查阅、分析和可视化,也支持将电子表格中的数据进行导出、下载和分享,灵活满足日常数据分析需求。详情请参见创建并管理电子表格。
数据洞察
数据洞察是指通过深度数据分析和解读来获取深刻的数据理解和发现,它支持数据探索和可视化。您可以通过数据洞察了解数据分布,创建数据卡片,并组合成数据报告。此外,数据洞察结果能够通过长图形式的报告进一步分享。该功能利用AI技术辅助数据分析,帮助您解析复杂数据,并为业务决策提供支持。
数据服务
API
API全称为Application Programming Interface。在DataWorks数据服务中,开发者能够基于各类数据源快捷封装数据API,在业务应用、软件、系统、报表等场景中调用数据API,实现数据获取与消费。
函数
函数是数据API的过滤器。当函数作为API的前置过滤器时,能够对请求参数进行处理,例如:请求参数改值、请求参数赋值等。当函数作为API的后置过滤器时,能够对返回结果进行二次加工,例如:更改返回结果的数据结构、增加返回结果内容等。
数据推送
DataWorks提供了数据推送服务,该服务可以创建推送任务,在任务内编写单表或多表查询的SQL代码来圈定数据范围,并添加富文本或表格等内容来组织推送消息的内容。可以通过配置调度周期和时间,定时将数据推送至目标Webhook中。
开放平台
开放API(OpenAPI)
DataWorks开放平台提供OpenAPI能力,通过调用DataWorks的OpenAPI使用DataWorks的各项功能,实现应用和DataWorks的集成和交互。
开放事件(OpenEvent)
DataWorks的OpenEvent旨在将DataWorks的各类状态变更情况以事件消息的方式触达到用户,便于用户订阅消息并做出个性化的响应。例如,您可以通过OpenEvent订阅表变更事件,从而实现核心表的实时监控;通过OpenEvent订阅任务变更事件,实现定制化的任务监控。
扩展程序(Extensions)
DataWorks扩展程序是一种插件,结合OpenAPI及OpenEvent,您可以通过扩展程序对DataWorks中的用户操作行为进行自定义逻辑处理并实现拦截阻断等行为管控。例如,您可以开发一个任务变更管控扩展程序,实现自定义任务发布流程管控。