DataWorks 是阿里云提供的一站式大数据开发与治理平台,旨在帮助用户解决从数据接入、处理、治理到服务化的全链路数据问题。它通过一系列高度协同的功能模块,将复杂的数据工程流程化、可视化,显著降低了大数据开发的门槛。本文将为您逐一介绍DataWorks的核心功能模块,阐明其核心用途、关键能力及适用场景。
使用流程
资源准备:首先在管理中心配置基础环境,包括定义数据源连接、划分资源组、绑定计算引擎(如MaxCompute、Hologres)以及管理成员权限。
数据上云与集成:使用数据集成模块将源业务系统的数据采集至大数据平台。支持离线(批量)、实时(流式)、全量及增量等多种同步方式。
规范模型设计:在进行大规模数据开发前,进行规范化的模型设计,以保证数据体系的有序与可维护性。此环节涵盖数仓规划、数据标准定义、维度建模(如设计维度表和事实表)以及核心业务数据指标的定义。
数据处理加工:
在数据开发的WebIDE或Notebook中编写代码(如SQL、Python),通过工作流编排将独立的任务节点组织成有向无环图(DAG)。
配置调度策略后,提交发布至运维中心,由运维中心负责周期性调度、监控任务运行状态、处理告警,并支持补数据等运维操作。在此过程中,可为产出的数据表配置数据质量监控规则以保障其准确性。
作为AI助手,DataWorks Copilot贯穿于开发与运维过程中,辅助代码生成与优化、智能排错等。
数据分析使用:通过数据分析向分析师、运营等提供SQL查询、数据洞察、电子表格等工具,从而进行即席查询和自助式BI分析。
数据共享交换:通过数据服务将数据封装成标准的数据API服务,或使用数据推送功能,实现数据的程序化调用。
全链路数据治理:数据治理能力贯穿于整个数据流转过程,确保数据的可信、可控、可用。元数据采集会自动同步至数据地图,便于用户发现数据和血缘溯源。数据资产治理可以通过治理计划,发现开发过程和数据的问题进行治理。安全中心则对整个过程中的敏感数据进行保护。
整个流程由DataWorks进行统一的组织和调度,而实际的数据计算和存储则由底层的MaxCompute、Hologres、Flink、E-MapReduce等多种计算引擎执行。
组合使用场景
DataWorks的模块可以灵活组合,以满足不同的数据处理与应用需求。以下是几种典型的组合模式:
组合模式一:离线数仓构建
这是最经典、最基础的组合,适用于构建企业级数据仓库,进行周期性的批量数据处理和商业智能(BI)分析。
核心目标:建立稳定、可靠、可追溯的离线数据仓库体系。
模块组合:
实现方式:
数据集成:每日凌晨,将业务库(如RDS)的增量数据同步至MaxCompute的数据引入层 ODS。
智能数据建模:预先规划数仓分层,并设计好明细数据层DWD、汇总数据层DWS、公共维度层DIM和应用数据层ADS的数据模型,如用户维度表、订单事实表。
数据开发:编写MaxCompute SQL任务,对ODS层数据进行清洗、转换,并加载到已设计的模型表中。开发过程中可借助Copilot生成或优化代码。
数据质量:为核心的DWS、DWD层报表配置监控规则,例如“每日分区行数不得为0”、“关键金额字段值域不得异常”。
运维中心:在数据开发将所有任务配置成一个有依赖关系的DAG,设置调度周期为每日执行后,提交发布至运维中心,并设置基线、数据质量规则等进行监控与运维。
数据地图: 数据分析师或业务人员通过数据地图,搜索并理解报表指标的口径,并查看其完整的上游加工链路。
适用角色:数据工程师、数据架构师。
组合模式二:实时数据开发
此组合适用于需要低延迟数据反馈的场景,如实时大屏、实时推荐、实时风控等。
核心目标:对流式数据进行实时处理与分析,实现秒级或分钟级的业务洞察。
模块组合:
实现方式:
数据集成:配置实时同步任务,将用户行为日志表或消息队列(Kafka)中的数据实时写入数据湖或消息中间件。
数据开发:创建Flink SQL任务,对实时数据流进行开窗、聚合等计算,例如“统计过去1分钟内各商品的点击量”。
结果输出:Flink任务将计算结果实时写入高性能的交互式分析引擎,如Hologres。
通过以下方式构建报表或大屏:
数据分析: 在数据分析模块将数据源连接到Hologres,通过SQL查询或者数据洞察生成卡片,并将卡片组合成报告,配置报告动态更新,从而构建数据动态更新的报表。
数据服务:生成数据源类型为Hologres的API,并将数据提供给DataV、QuickBI等工具,构建实时分析大屏。
适用角色:实时开发工程师、数据分析师。
组合模式三:数据探索与分析
此组合主要服务于数据分析师或运营人员,需要快速验证想法、进行临时性的数据探查。
核心目标:提供自助、高效的数据查询与分析环境,降低数据获取门槛。
模块组合:
实现方式:
数据地图:分析师首先通过数据地图搜索关键字(如“GMV”、“活跃用户”),找到相关的指标和数据表。通过查看表的元数据和血缘关系,确认数据是否符合分析需求。
安全中心:通过数据访问控制、分级分类、数据脱敏等手段,确保分析师在合规、安全的范围内使用数据。
数据分析:确认目标表后,进入数据分析的SQL查询与分析或数据洞察功能,编写SQL对该表进行探索性查询,例如“查询上个季度华东地区各类目商品的销售额分布”。
结果呈现:查询结果可以直接导出,或在数据分析中快速生成图表,用于分享或制作报表。
适用角色:数据分析师、业务运营、数据产品经理。
组合模式四:数据服务化封装
当数据需要被上层业务系统(如Web应用、小程序)直接调用时,可采用此组合模式。
核心目标:将数据仓库中的数据表或复杂查询,快速、安全地封装成标准API接口。
模块组合:
实现方式:
数据准备:首先通过
离线数仓构建
模式(组合一),在Data Studio中加工出一张结果表,例如“用户画像标签表”。数据服务:进入数据服务模块,创建一个新的API。
API配置:将API的查询逻辑指向“用户画像标签表”,设置请求参数为“用户ID”,并选择需要返回的标签字段。
性能与安全:为API配置缓存策略以提升高频查询性能,并进行分组、授权管理。
发布与调用:发布API后,并进行相关授权后,后端工程师即可获得API的调用地址和认证信息,在业务代码中进行集成,实现根据用户ID实时获取画像标签的功能。
适用角色:数据工程师、后端开发工程师。
后续步骤
了解以上使用组合后,可以通过参考以下实践案例,开始使用DataWorks: