数据一旦被整合和计算,便能够用于洞察商业规律、挖掘潜在信息,从而实现大数据的价值,达到赋能商业并创造价值的目标。面对海量数据和复杂的计算任务,阿里巴巴的数据计算层主要包括两大体系:[b]数据存储和计算平台(离线计算平台MaxCompute和实时计算平台StreamCompute)、数据整合及管理体系(OneData)[/b]。
阿里数据研发岗位的工作主要涵盖以下几个步骤:[b]需求分析→模型设计→ETL开发→测试→上线→运维→下线[/b]。与传统数据仓库开发相比,阿里数据研发具有以下特点: [list]业务变更频繁——业务快速发展导致需求多变;快速响应需求——业务驱动下需要迅速交付结果;频繁发布上线——迭代周期以天为单位,每日多次发布;运维任务繁重——每个开发人员平均负责上百个任务;系统环境复杂——阿里平台大多为自主研发,且迭代速度快,系统稳定性面临较大压力。 [/list][b]通过统一的计算平台(MaxCompute)、开发平台、数据模型规范和研发规范,能够在一定程度上解决数据研发中的问题。[/b]
本文主要介绍MaxCompute及其在阿里巴巴内部的大数据开发套件,并讨论在数据开发过程中常见的问题及其解决方案。
阿里离线数据仓库的存储和计算都在阿里云大数据计算服务MaxCompute上完成。MaxCompute是阿里云自主研发的海量数据处理平台,主要服务于数据存储和计算,提供完善的数据导入方案和多种分布式计算模型,旨在更高效地处理海量数据,降低成本并保障数据安全。
MaxCompute由四部分组成:客户端(MaxCompute Client)、接入层(MaxCompute Front End)、逻辑层(MaxCompute Server)及存储与计算层(Apsara Core)。
(1)计算能力强且普惠:MaxCompute在2016年Sort Benchmark比赛中取得优异成绩,展示了其卓越的计算能力,使顶级计算技术变得普及。 (2)集群规模大且稳定:MaxCompute平台拥有数千台机器,存储容量接近1000PB,支撑阿里巴巴的多项业务,如数据仓库、BI分析、决策支持等,系统运行稳定。 (3)功能强大:MaxCompute提供了多种计算服务,包括SQL、MapReduce、机器学习算法、图编程模型和流式计算模型等。 (4)安全性高:MaxCompute采用多租户数据安全体系,确保用户数据的安全。
阿里数据开发平台集成了多个子系统来解决实际生产中的问题。围绕MaxCompute计算平台,从任务开发、调试、测试、发布、监控到运维管理,形成了一整套工具和产品,提高了开发效率,保证了数据质量,并确保了数据产出的时效性。
数据研发人员在完成需求理解和模型设计后,进入开发环节。开发工作流如下:
(1)D2平台:D2是一个集成的任务开发、调试及发布平台,具备大数据运维、数据权限管理等功能。 (2)SQLSCAN:SQLSCAN用于检查SQL代码的质量,确保代码符合规范,避免提交缺陷代码。 (3)DQC:DQC关注数据质量,通过配置数据质量校验规则,自动监控数据处理过程中的数据质量。
数据测试主要采用功能测试,验证目标数据是否符合预期。测试场景包括新增业务需求和数据迁移、重构等。为了确保数据质量,对于高优先级任务,必须在专门的测试平台上进行回归测试。
数据中台是企业数字化转型的重要基础设施,阿里巴巴认为数据中台是一套“快”、“准”、“全”、“统”、“通”的智能大数据体系。阿里巴巴正在通过阿里云数据中台解决方案对外输出,涵盖零售、金融、互联网、政务等多个领域,核心产品包括Dataphin、Quick BI、Quick Audience和Quick A+等。
本文内容源自《大数据之路:阿里巴巴大数据实践》,受版权保护,未经授权不得转载。