DataWorks on EMR StarRocks,打造标准湖仓新范式

在大数据领域,数据仓库和实时分析系统扮演着至关重要的角色。DataWorks 基于大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台,为用户带来智能化的数据开发和分析体验。而阿里云提供的 EMR Serverless StarRocks 全托管服务(下文简称 StarRocks),专注于实时分析场景,可提供高性能、全场景、极速统一的数据分析体验。

目前,我们可以将 DataWorks 和 StarRocks 结合使用, 以 StarRocks 作为引擎层,以 DataWorks 作为数据开发与治理平台,形成组合拳,帮助企业用户通过 DataWorks 的产品界面来灵活地访问和使用 StarRocks,并且实现一系列的数据操作,例如:数据建模、数据的同步与集成、数据的开发与调度、数据治理、数据分析与服务等。通过该解决方案,帮助数仓团队实现 OLAP 的分析、湖仓一体的开发以及数据综合治理等一系列的应用场景和目标。这样一来,可以满足复杂业务场景下对于数据仓库和分析系统的需求,提供一站式的数据处理和分析能力,帮助企业更好地释放数据价值。

大数据开发治理平台 DataWorks 简介

DataWorks 是阿里云提供的一款大数据开发平台,旨在帮助企业实现数据的全生命周期管理,功能覆盖智能数据建模、数据集成、数据开发、数据治理与安全等大数据开发治理全链路。同时,DataWorks 近期已全新升级为新一代智能湖仓一体数据开发与治理平台,为 OpenLake 湖仓一体数据架构提供智能化数据集成、数据开发、数据分析与主动式数据资产治理服务,助力"Data+AI"全生命周期的数据管理,致力于为用户构建一个开放的云原生数据开发治理平台。

EMR Serverless StarRocks 简介

EMR Serverless StarRocks 作为新一代全场景 MPP(Massively Parallel Processing)数据仓库,凭借其极速的查询性能、多表 Join 的查询能力、MySql 协议的兼容性等特点,获得了广泛的客户关注,并应用在商业分析、广告转化、业务监控、用户触达等场景。越来越多的客户使用 StarRocks 来统一其 OLAP 引擎,降低运维成本。

EMR Serverless StarRocks 是 StarRocks 在阿里云上的一项全托管服务,结合 StarRocks 自身极速和统一的特性,重点围绕降低门槛和降低运维复杂度这两个目标,为客户提供了更多的能力。EMR Serverless StarRocks 提供了全托管、免运维的服务,具备开箱即用、弹性扩展、监控管理、慢 SQL 诊断分析等全生命周期能力,性能比传统 OLAP 引擎提升 3-5 倍,助力企业高效构建大数据应用。

DataWorks 作为阿里云大数据开发治理平台,结合 StarRocks 引擎在数据分析和数据服务上的极速表现,全面助力 StarRocks 在数据开发、数据消费和数据治理场景上的使用。

在数据开发的整个生命周期中,涵盖从数据采集到最终数据分析与应用的多个关键环节。其中,数据同步、数据开发、调度运行以及运维监控是四个尤为重要的组成部分。DataWorks 在这几个方面均展现出了卓越的能力,为企业级大数据处理提供了一站式的解决方案。

DataWorks 数据集成

DataWorks 具备成熟的整库级数据同步的解决方案,面向数据库,配置一个任务,就可以快速地把目标数据库下的所有表数据全部同步和传输到 StarRocks 中。针对将数据同步到 StarRocks 中的场景,DataWorks 支持两种数据源(MySQL、Kafka)和三种数据同步的解决方案(整库周期离线、全增量实时同步、单表实时同步)。DataWorks 支持将 MySQL 的数据实时同步和离线同步到 StarRocks,将 Kafka 的数据实时同步到 StarRocks。

  • MySQL 数据离线同步到 StarRocks:DataWorks 提供了整库周期离线的同步方案,该方案非常适合企业初次上云或者系统迁移的场景,在数据更新不频繁的情况下,可以一次性把 MySQL 中的存量数据全部同步到 StarRocks 中。

  • MySQL 全增量实时同步到 StarRocks:首先通过全量数据同步的方式,把历史数据全部同步到 StarRocks;接下来基于增量数据的判断条件,将数据实时同步到 StarRocks 中。这种方案比较适合数仓的持续集成,以及实时业务分析的场景。

  • Kafka 实时同步到 StarRocks:DataWorks 支持把消息队列的数据同步到 StarRocks 中, 通过指定 Topic 将存量数据同步到 StarRocks,并基于增量数据的判断条件持续进行实时数据同步。

DataWorks 数据开发

DataWorks 为用户提供了 DataStudio 工具来进行数据开发。DataStudio 具备智能化和一站式的开发能力,可以面向包含 StarRocks 在内的多种引擎来进行数据的开发和湖仓开发的流程。同时在这个过程中,可以构建复杂的业务流程和调度依赖,并且提供开发和生产环境隔离的研发模式。

在实际的开发过程中,首先,在 DataStudio 中创建 StarRocks 任务,基于该任务来编辑 StarRocks 相关的代码和脚本,填写相应的代码逻辑。创建和封装好单个任务后,将类似的多个任务,按照业务逻辑流程来进行拖拽化的处理和编排,以构建相应的工作流。这样就能够将不同小任务之间的串并行的逻辑和执行逻辑,通过可视化的方式串联起来。与此同时,在编辑的过程当中,DataWorks 提供智能化的能力,如智能 SQL 编辑器和 Copilot 智能助手等,通过智能的元数据提示、语法关键字的提示、代码补全纠错等能力帮助用户提高开发的效率。

DataStudio 支持自定义数据开发流程,满足"千人千面"的需求,不管是任务的封装、发布、提交等,都可以与企业自定义的一些检查项和卡点流程进行配合,打造企业自定义的专属数据开发流程。同时 DataStudio 还具备多人协同开发的能力,在任务开发的过程当中,支持多成员的编辑和管理,以及多成员之间的代码评审、版本管理和发布等。

DataWorks 调度和运维

当用户在数据开发 DataStudio 上完成了代码的编辑以及调度的设置后,就可以把任务提交到生产系统中定时执行。DataWorks 针对生产任务提供了统一运维能力,帮助用户以图形化、可视化的方式来监控任务的运行情况。DataWorks 运维中心提供海量任务的依赖图的逐级展现、智能监控、告警通知以及智能诊断等等的一系列能力,单个运维人员就可以去管理和运维海量的数据任务,显著降低了运维成本。

当进入运维中心的实际产品界面后,我们能够看到,运维中心提供了丰富的能力来帮助用户提高运维效率。运维大屏通过可视化的仪表盘和重点运维指标的统计,来显示任务的运行状态和情况。智能监控能够帮助用户监测任务的出错、超时等异常运行状态,及时通知到运维值班人员。智能基线能够管理任务的优先级,敏捷识别并计算整体链路的关键上游路径,从上到下地监控整个数据链路的运行情况,并在遇到潜在运行延时风险时及时给出相应通知。当任务在运行过程中或者完成后出现了一些异常问题,智能诊断可以进行运行资源、定时时间、调度依赖等方面的检测,提供相应的诊断建议,帮助运维人员合理以及快速地去进行线上任务的异常修复和止血。当然,当数据出现问题的时候,也可以做补数据或者是重跑等的快速的运维操作,及时补救生产的数据。

当数据产出之时,便承载着被消费的使命。借助 DataWorks 这一利器,我们能够对 StarRocks 中蕴藏的数据进行深度挖掘,不仅实现智能洞察与敏捷分析,还能以直观生动的方式呈现数据分析成果,并促进信息资源的开放共享,从而极大提升数据对于业务决策的支持力度及价值创造能力。

DataWorks 数据分析

DataWorks 的数据分析提供了轻量化的分析工具,能够便捷地连接 StarRocks 数据源,提供 SQL 查询、电子表格、增强分析等多种数据分析能力,帮助数据分析师、业务运营等人员开展日常业务取数和报表分析等工作。

在DataWorks 数据分析中,提供了智能数据洞察的功能,基于 AI 来帮助用户分析和判断数据分布情况、数据样本情况,并能够发现数据中的异常特征、潜在关联和变化趋势等。如果需要对数据进行表格化操作或者分析,SQL 查询结果能够保存为电子表格;在电子表格中,基于明细数据直接进行数据格式更改、聚合计算和协同编辑等操作。电子表格支持在团队或企业中授权共享,十分方便。除此之外,可以基于这些数据分析得到的数据结果来生成图表和报告,轻松打造业务所需要呈现的数据指标,更加直观地体现业务状况。

DataWorks 数据服务

DataWorks 数据服务能够衔接 StarRocks 与数据应用间的"最后一公里",用户能够将 StarRocks 数据表快速生成数据 API,同时支持编写函数对 API 进行加工处理,助力企业实现数据的快捷共享与开放。

当数据 API 封装完成之后,可以将 API 发布到线上获得相应的 URL 调用地址,也就是一个 HTTP 协议的数据接口。这个接口可以进一步被 APP 、报表、大屏等场景去使用,帮助用户便捷地搭建应用程序或系统平台,为用户提供获取以及刷新数据的接口。另外还可以把这些数据 API 上架到 API 市场上,数据消费者就能够通过这个接口获得相应订阅数据的呈现。除此之外,通过数据服务 API,在数仓和应用之间的构建一层安全屏障,避免应用直接访问原始数据库,从而实现安全和稳定的数据共享。

数据治理贯穿于数据资产从诞生至消逝的全生命周期,其方法论必然沉淀了组织智慧与技术交融的结晶。它包括但不限于以下几个部分:

  1. 数据建模:在数仓建设初期,模型设计师需根据企业的业务需求与实际情况规划数据模型层次,将业务需求与实际规范相结合,设计出符合企业发展的数据模型。

  2. 数据及时产出:运维团队负责监控重要任务的执行情况,确保数据生产的顺利进行,并能快速定位并解决问题以保证数据产出的时效性。

  3. 数据质量保障:为确保高质量的数据输出,运维人员需设定严格的数据质量规则来阻止脏数据传播,并通过持续监测及订阅汇总机制迅速识别并处理潜在的质量问题。

  4. 数据全面理解:为了更好地利用生成的数据,企业应加强对其的理解能力,比如通过构建强大的检索系统、完善的数据字典以及详细的元数据和血缘关系追踪等手段,实现对数据更加深入全面的认识。

  5. 治理综合评估:管理层可通过综合治理评估体系来发现并改进现有的治理不足之处;同时也能量化分析现有策略的效果,并据此提出具体的优化建议。

DataWorks 沉淀了阿里巴巴15年大数据治理方法论,为企业数据治理积累了丰富的最佳实践。

DataWorks 数据建模

DataWorks 的数据建模功能沉淀了阿里巴巴数据中台的建模方法论,包含从数仓的规划、标准、建模、指标等几个方面的设计。从业务视角对业务数据进行构建和诠释,通过建模的逻辑模型的发布,从逻辑模型到物理表灵活打通,最终实现整个模型的设计和构建。

数据建模在数仓规划能力阶段,可以进行数仓分层、数据域和数据集市等定义,来进行数仓的分层划域,接下来通过数据标准来定一些标准代码和度量单位等,同时这些数据标准也可以一键落标,让数据模型和数据指标被严格规范和统一约束。

在进行维度建模时,可以通过正向建模,将逻辑模型发布到多个物理引擎的数据源中,如发布到 StarRocks 中生成物理表。同时数据源中已有的数据表,也可以逆向生成相应的逻辑模型。DataWorks 的维度建模和数据开发还可以实现无缝打通,可以帮助用户自动生成 ETL 框架代码。

数据指标的定义可以辅助进行更规范和可解释的数据建模,比如定义原子指标、派生指标和复合指标等,将这些指标关联和绑定在模型表上,从而进一步地诠释和规范不同字段的业务口径,确保业务口径的统一。

为了方便用户做数据建模,DataWorks 在数据建模模块提供了如零售、汽车等面向各行业的模型模板,通过直接引入和导入模板,在模板上进行调整和修改,就可以因地制宜地生成企业所需的数据建模框架,极大地减少前期投入的建模的人力成本和时间成本,帮助用户从0到1地来进行建模工作。

DataWorks 数据质量

在全链路的数据开发过程中,保障数据的高质量和可用性是很重要的一个环节。首先在事前可以定义一些质量规则,DataWorks 内置37种表级和字段级别的模板规则,用户可以直接使用。同时也可以自定义数据质量的规则。不管是内置规则还是自定义规则,都可以被绑定到目标表上,并且关联到相应的调度系统,目标表在调度系统当中被执行和产出时,涉及到的质量规则就会被自动地触发、运行和扫描。

当质量规则校验到目标表出现了质量问题,会及时进行问题的阻断,系统会通知相关的值班人员和运维人员等,同时及时停止下游任务的运行,防止上游的脏数据传到下游,污染下游的数据链路。除此之外,在发生了数据质量的异常情况后,DataWorks 会提供运行结果的统计看板,及时提示和修复已有的问题,用户也可以通过这个看板摸排和监控哪些数据表或是哪些数据源还有待质量规则的覆盖,从而提升数据质量的覆盖度和可监控性。

DataWorks 数据地图

数据地图可以将 StarRocks 中的数据资产进行有序地组织,帮助开发者或者是业务人员能快速查找目标表,并且基于这些表去做深刻的数据理解和使用,从而助力 StarRocks 数据的便捷消费。

数据发现和元数据采集的过程中,数据地图会帮助我们在不同的数据源和网络环境下,自动做元数据采集以及相应数据目录的构建。基于采集到的元数据,就可以对表、字段、描述等元素进行全局的检索和匹配,从而快速找到符合这些要素的 StarRocks 数据表。

当找到一些数据表之后,可以继续查看明细信息。进入表详情页,查看相应的元数据的详情,包括基础表信息、字段信息、产出信息及使用记录等。除此之外,还可以进行数据血缘链路的构建和追溯,在生产数据的过程当中,记录 StarRocks 表的全链路的血缘关系,及时追溯血缘的来源和去向,完整表达数据流转和数据变化的情况。与此同时,数据地图也可以做类目管理,通过创建数据专辑,把用户的个人表或是团队常用的表添加到相应的数据专辑中,这样一个小范围的管理,可以方便用户快捷地维护相关数据,进行核心数据的统一管理。

DataWorks 数据资产治理

数据资产治理的目标是帮助用户对 DataWorks 治理成效有合理的评估和建议。数据资产治理包含健康分的整体评估,涵盖五个维度,包括质量、计算、存储、研发以及安全,通过量化的健康分体系,帮助用户直观地了解目前的数据治理成效,并对可治理对象做针对性的治理改进。

数据资产治理会涵盖面向 StarRocks 任务调度和开发中的通用问题的发现,如同步任务、API服务、调度任务等的问题发现和治理,自动地发现数据问题,同时提供治理问题处理优化的建议,给出合理有效的操作措施。通过对建议项及时的采纳,治理成效会获得持续不断的提升。

DataWorks + StarRocks 应用案例

某游戏厂商在游戏发行运营过程中,需要进行广告买量,在社交 App 上投放一个广告位进行游戏宣传,然后用户可能会点击该游戏宣传并下载游戏。游戏厂商需要将用户下载游戏归因到最近的一次点击是发生在某平台上的,来做广告买量的运营分析。但是用户行为曝光和点击事件表数据量非常大,写入频率非常高,归因分析需要曝光和点击事件表相关联,数据量大对 Join 的性能要求高,广告归因分析以末次归因模型为主,窗口和排序的计算性能要求比较高,归因时间窗口差异比较大,有1小时,7天,15天,30天,需要系统具备灵活的存储和读取能力。客户采用 StarRocks 和 DataWorks 相结合的方式,使用 DataWorks 来进行数据的集成和同步,将海量的数据进行了实时同步,再通过 StarRocks 引擎进行高性能的分析,从而实现快速评估广告投放的效果,并且及时调整投放的策略,提升了整体的 ROI。

某金融客户依托金融科技,围绕供应链 SaaS 平台,打造大数据+业务双中台,提供数据、风控、流程、管理等多个领域的产品平台。国内业务增长瓶颈,业务重心转向海外,陆续在美国、日本、澳洲、马来等地域扩展证券交易业务;业务实时场景越来越多,对于数据采集和加工效率有大幅提升的诉求,在现有架构上难以实现;IDC 机器马上过保,重新采购成本极高,有明确的成本优化目标。需要一个提供一站式数据采集平台+实时离线一体化大数据开发治理平台,包含全链路数据接入、数据存储、数据开发、数据运维管理的方案、数据治理等能力,来满足业务的需求。最终采用 DataWorks+EMR StarRocks+Flink 实时数仓湖仓一体的解决方案,一方面,将业务数据通过 DataWorks 的数据集成来实时同步到 StarRocks。另一方面,每天第三方的全量快照数据也可以同步到 Hive 进行清洗和分析,来加工成企业的画像数据。最后 DataWorks 作为统一的数据接入、数据开发和监控运维平台,来对接企业内部平台和系统。整个解决方案极大地帮助客户来实现平台的稳定性和高效运维的能力。

欢迎试用

**EMR Serverless StarRocks:**https://x.sm.cn/CJ9rmIR

**大数据开发治理平台 DataWorks:**https://x.sm.cn/HBX3HgP

相关推荐
zhixingheyi_tian4 小时前
Spark 之 Aggregate
大数据·分布式·spark
PersistJiao4 小时前
Spark 分布式计算中网络传输和序列化的关系(一)
大数据·网络·spark
宅小海7 小时前
scala String
大数据·开发语言·scala
小白的白是白痴的白7 小时前
11.17 Scala练习:梦想清单管理
大数据
java1234_小锋7 小时前
Elasticsearch是如何实现Master选举的?
大数据·elasticsearch·搜索引擎
Java 第一深情11 小时前
零基础入门Flink,掌握基本使用方法
大数据·flink·实时计算
MXsoft61811 小时前
华为服务器(iBMC)硬件监控指标解读
大数据·运维·数据库
PersistJiao12 小时前
Spark 分布式计算中网络传输和序列化的关系(二)
大数据·网络·spark·序列化·分布式计算
九河云12 小时前
如何对AWS进行节省
大数据·云计算·aws
FreeIPCC13 小时前
谈一下开源生态对 AI人工智能大模型的促进作用
大数据·人工智能·机器人·开源