MaxCompute在高德大数据上的应用

简介: 2019年1月18日,由阿里巴巴MaxCompute开发者社区和阿里云栖社区联合主办的“阿里云栖开发者沙龙大数据技术专场”走近北京联合大学,本次技术沙龙上,高德数据技术专家苗翌辰为大家分享了高德如何应用MaxCompute来管理数据架构,开发易用、高效以及弹性的高德应用,为用户提供更优质的出行服务。

摘要:2019年1月18日,由阿里巴巴 MaxCompute 开发者社区和阿里云栖社区联合主办的“阿里云栖开发者沙龙大数据技术专场”走近北京联合大学,本次技术沙龙上,高德数据技术专家苗翌辰为大家分享了高德如何应用MaxCompute来管理数据架构,开发易用、高效以及弹性的高德应用,为用户提供更优质的出行服务。

以下内容根据演讲视频以及PPT整理而成

一、高德的业务和数据

地图描绘需要很多支撑数据,包括现实中的道路信息、路形以及路况等。下面的轨迹热力图展示了高德地图显示的北京联合大学的周边路况,描绘了点、线和面三种信息。通过地图信息和轨迹数据叠加形成区域热力。其中,不同颜色的轨迹展示了该区域一天内不同时间段的路况。
image

下面展示了高德的一些业务场景。第一个场景是大家日常使用的高德APP。高德地图是苹果中国的战略合作伙伴,第二个场景展示了高德为苹果提供的出行服务。高德向整个互联网行业开放了其生态能力,第三个场景是高德为APP应用开放者提供的位置服务接口,目前使用该接口进行开发的移动应用包括手机淘宝、今日头条和小米运动等。另外,第四个场景是高德为车载设备提供的完善的位置服务方案。

image

高德地图的业务架构可以用“442阵型”来形容,即分为客户端、中间层、服务引擎以及基础地理信息等4层,同时包含AppleMaps、高德App、第三方App以及车载设备等4个业务入口。另外,数字“2”是指高德地图依赖于两个数据源,即自采数据、行业合作数据组成的基础地理信息和轨迹数据、行车数据等服务引擎产生的数据。“442阵型”的业务架构给高德的发展带来了质的飞跃。

image

下图是高德总裁刘振飞先生正在庆祝高德十一DAU突破一个亿的历史时刻。十一期间,高德为全网用户提供导航的总里程超过135亿公里,相当于在太阳和地球之间往返45次。高德提供海量服务的背后是高德强大的大数据计算能力、超过数千台的高德集群节点和承载超过百 PB数据的集群存储容量。
image


二、如何管好数据

SPA架构

高德的数据架构称为“SPA架构”。“S”指代Source,即数据源层,收容了高德内部所有的位置、地图和图像数据。“P”指代Platform,即数据平台,提供了数据仓库、数据适配和数据挖掘能力来支撑上层的数据应用层,也就是Application(“A”)。在“SPA架构”中,高德最关注获取数据的权限,即要求所有数据操作都应该符合安全规范。此外,高德还要求所有部门都明确其开发目标,并且使用统一的平台工具进行开发。

image

数据研发

数据研发的全链路过程包括数据集成、数据开发、运维中心、数据质量、数据地图、数据安全以及数据服务等。高德对数据平台的要求不仅仅是以上全链路都 All in One,还希望都能以可视化的方式进行用户交互,以提高开发效率。以运维中心为例,希望所使用的工具能够将调度节点可视化,并方便进行不同时间粒度的任务依赖。同时,我们还希望拥有可视化的数据地图用于管理元数据信息,方便上下游即时查看。MaxCompute正是符合高德数据业务诉求的给力产品。

image

MaxCompute平台特点

高德使用的MaxCompute平台具有以下三个特点:
第一, 易用性,具有零学习成本和完善的IDE等优势。
第二, 效率,高德内部迄今为止最大的公共项目“魔方”就是运用阿里云和MaxCompute实现的。
第三, 弹性,高德于十一期间的流量远远超出想象。

image

易用-上云

2014年,高德的数据架构依赖Flume进行数据采集,依赖一个仅含几百台机器的hadoop集群和Hive等软件实现数据处理。2014年9月份高德内部提出“上云”,即将数据迁移到阿里云,使非流程化的作业得到流程化的管理。与其他复杂的数据迁移工作相比,2014年高德实现了“一键”上云,将源数据的同步从Flume切换成TimeTunnel,后续再可配置化地切换数据。此外,迁移还伴随着代码修改,2014年高德“上云”仅修改了非常少的代码,比如修改老版本M2中的接口等。上方的数据存储层将数据介质替换成OTS等云端产品,以支持更加稳定的前台应用。高德将所有集群数据都迁移到“云上”仅花了两个月时间。

image

“上云”为高德带来的收益不可估量。图1展示了“上云”后由云端管理所有代码;图2展示了一键式运维管理;图3展示了可计量的计算资源管理,量化地显示各个任务的资源使用情况;图4展示了流程化的可视化安全审批操作。从2014年“上云”到如今2018年,高德经历了飞速的发展,同时也暴露出了一些问题。

image

效率-魔方

烟囱过多是数据仓库中比较麻烦的问题,高德同样存在该问题。数据使用者可能需要花费一个月寻找数据所在部门、数据的相关产品负责人以及研发人员以索要数据。2017年高德盘点数据仓库时发现,高德内部存在二十个数据仓库项目,并且各个数据仓库间的数据冗余度高达百分之三十,严重影响了团队工作效率。此外,高德数据仓库还存在高时延缺点,核心数据无法保证每天“7点产出”。基于以上两个问题,高德发起了“魔方”项目,将二十个仓库合并成一个以实现全集团的数据治理。

image

显而易见,要实现全集团的数据治理项目存在严峻的挑战。首先,数据量非常大,“魔方”项目要求实现百PB级数据的全域数据治理。其次,参与人员众多,“魔方”项目涉及到高德全产线的所有数据开发人员,项目团队超过百人。最后,排期紧,为了使数据架构升级不影响正常业务,高德要求“魔方”项目的主体开发工作应在两个半月内完成。此外,数据迁移工作在越短时间内完成对企业的收益就越大,因此高德要求“魔方”项目应在尽量短的时间内完成。应对这几个挑战的主体思路就是引入高效率的研发工具,在规范化的流程中实现协同开发,提高团队的工作效率。

image

为此,高德首先统一了工具平台,引入了MaxCompute,下图蓝色部分皆为MaxCompute 为我们带来的业务收益。在数百人的团队中统一规范无疑是困难的,而MaxCompute提供了代码编写规范、调度配置规范以及研发自测规范等规范化模块。其中,代码编写规范模块使用 SQL Scan 工具自动化地检查代码是否符合规范,调度配置规范模块提供了完善的用户手册及各种模板辅助开发人员完成配置。统一流程要求实现定制化地管理数据开发流程,包括研发测试、开发自测、调度测试、QA测试以及最后的上线部署等流程。此外,统一建模和语言、统一数据核定标准也非常重要。

image

阿里云提供了一些优秀工具以构建规范化流程。第一,提供了数据血缘可视化工具,帮助数据开发团队及时地跟踪源数据、数据的上游和下游等信息。第二,提供了开发/测试流程并行的能力,以支持完善的协同开发和高效运转的工作。第三,提供了代码云端版本管理工具,允许实时查看代码变更、代码管理状态并支持回滚。第四,提供了一键数据探查工具,允许数据开发人员通过简单的配置探查海量数据的字段空值率,有效值率,表重复率等信息,极大地提高了数据开发人员的工作效率。

image

在规范化的流程以及众多效率工具的帮助下,高德在规定时间内完成了“魔方”项目开发,得到了一致好评。高德最终统一了数据仓库,将内部所有百P级数据的月增速降低了40%,同时数据计算效率提升了30%。即使在2018年十一的流量轰炸时期,高德仍然实现了核心数据的“5点产出”目标(5点到7点需完成核心数据计算任务)。

image


弹性-十一

2018年十一期间,高德的数据处理量随业务快速增长,数据计算任务的性能和平台的稳定性都受到了极大的考验。

image

数据血缘可视化工具允许数据开发人员可视化地查看系统资源配置,下图展示了高德在2018年9月2日的系统实际使用计算水位,其中,蓝线是系统配额水位,黄线是系统的实际计算水位。阿里云提供的弹性计算能力允许在一定弹性数据量范围内保证系统资源的正常计算和输出。此外,阿里云还提供了稳定的计算环境,保证计算任务高效地运转,同时避免资源竞争问题。另外,为了更好地利用系统计算资源,高德团队提出了“提高蓝线、打散黄线”方案,申请扩大集群资源配额提升算力空间,通过调度错峰打散实际资源水位。在扩容方面,MaxCompute为高德带来了一键资源扩容能力,使得集群扩容在小时级别的时间内完成。最后,高德还实现了计算优化,提供了人员在线值守等保障。下图同时展示了高德在2018年10月2日的系统计算水位,蓝线代表的“系统配额水位”远高于9月2日的,说明集群扩容工作已顺利完成。同时,黄色代表的“实际资源配额水位”已完全被蓝线cover,更好地保障了资源计算任务。此外,黄色高峰被明显打散,一些重要非核心数据被错峰调度到7点,说明计算资源的错峰调度工作也已顺利完成。阿里云提供的一键运维调度工具能够保证系统方便的进行调度错峰,节省人力。MaxCompute为高德带来的弹性能力使得高德于2018年10月2日实现了核心数据“3点产出”的骄人成果。

image

业务成果

下图展示了中国的路网覆盖图,华东、华北和华南地区基本实现了道路全网覆盖,西部等偏远地区的道路交通还不够发达,许多道路仍在建设。路网覆盖对高德而言非常重要,高德需要用尽可能少的成本自动地发掘新路和过期路。

image

高德将轨迹数据资产和地图建设能力结合起来构建轨迹热力图,辅以现有路网和数据挖掘算法以自动化地发现新路和过期路。此外,高德还结合区域通车流量和该区域相关的用户上报事件来动态地发现封路、交通事件,更好地实现路网挖掘。

image

路况预测是高德的另一个重要业务,即实时预测道路的通车状况、道路是否拥堵等。左图展示了高德对右图路段从早到晚的平均车速预测,红线表示数据累计得到的历史均值,蓝线表示模型预测值,黑线表示真实数据值。蓝线和黑线基本重合,有力地说明了高德应用的数据挖掘能力和统一数据仓库建设取得的成果。

image

此外,高德还面向全网用户开放了一个城市级数据产品,允许用户随时查看城市的道路拥堵状况和城市拥堵指数等相关数据,该产品可在http://report.amap.com/ 页面访问。下图显示了该产品给出的北京北二环某路段一周内的拥堵状况。

image

三、未来展望

技“数”高德表达了高德的未来规划。作为一家数据公司,高德致力于丰富数据源、优化SPA数据结构,得到更强大的数据平台,为用户提供更优秀的出现工具。从企业责任出发,高德希望能通过自身努力,帮助社会智能化地解决交通拥堵问题。从应用生态出发,高德希望能够帮助生态建立更加场景化的LBS服务,共同打造更专业的位置服务应用。

image

高德致力于在未来继续联手阿里云,实现“连接真实世界,让出行更美好!”的行业愿景。

欢迎对大数据计算技术感兴趣的开发者一起加入“MaxCompute开发者社区”,钉钉群号11782920,或扫下方二维码。
image

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
13天前
|
分布式计算 DataWorks 大数据
MaxCompute产品使用合集之大数据计算MaxCompute如何实现通过离线同步脚本模式
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
13天前
|
机器学习/深度学习 分布式计算 大数据
MaxCompute产品使用合集之大数据计算MaxCompute是否支持直接在多个节点之间进行批量复制
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
MaxCompute产品使用合集之大数据计算MaxCompute是否支持直接在多个节点之间进行批量复制
|
3天前
|
关系型数据库 分布式数据库 数据处理
【PolarDB 开源】PolarDB 在大数据分析中的应用:海量数据处理方案
【5月更文挑战第25天】PolarDB是解决大数据挑战的关键技术,以其高性能和可扩展性处理大规模数据。通过与数据采集和分析工具集成,构建高效数据生态系统。示例代码显示了PolarDB如何用于查询海量数据。优化策略包括数据分区、索引、压缩和分布式部署,广泛应用于电商、金融等领域,助力企业进行精准分析和决策。随着大数据技术进步,PolarDB将继续发挥关键作用,创造更多价值。
21 0
|
4天前
|
存储 弹性计算 大数据
【阿里云弹性计算】阿里云ECS在大数据处理中的应用:高效存储与计算实践
【5月更文挑战第23天】阿里云ECS在大数据处理中发挥关键作用,提供多样化实例规格适应不同需求,尤其大数据型实例适合离线计算。通过集成分布式文件系统如OSS,实现大规模存储,而本地存储优化提升I/O性能。弹性扩容和计算优化实例确保高效运行,案例显示使用ECS能提升处理速度并降低成本。结合阿里云服务,ECS构建起强大的数据处理生态,推动企业创新和数字化转型。
20 0
|
8天前
|
SQL 分布式计算 数据挖掘
阿里云MaxCompute携手华大基因打造精准医疗应用云平台,十万基因组计算成本降低至1000美金以内
华大基因是中国最领先的基因科技公司,华大基因为消除人类病痛、经济危机、国家灾难、濒危动物保护、缩小贫富差距等方面提供分子遗传层面的技术支持。让我们结合maxcompute的技术特点,看看如何助力华大基因。
819 9
|
13天前
|
存储 NoSQL 大数据
【MongoDB 专栏】MongoDB 在大数据场景下的应用
【5月更文挑战第11天】MongoDB,适用于大数据时代,以其灵活数据模型、高可扩展性和快速性能在大数据场景中脱颖而出。它处理海量、多类型数据,支持高并发,并在数据分析、日志处理、内容管理和物联网应用中广泛应用。电商和互联网公司的案例展示了其在扩展性和业务适应性上的优势,但同时也面临数据一致性、资源管理、数据安全和性能优化的挑战。
【MongoDB 专栏】MongoDB 在大数据场景下的应用
|
13天前
|
分布式计算 监控 数据挖掘
MaxCompute的应用
【5月更文挑战第7天】MaxCompute的应用
31 8
|
13天前
|
分布式计算 DataWorks 数据管理
DataWorks操作报错合集之DataWorks中udf开发完后,本地和在MaxCompute的工作区可以执行函数查询,但是在datawork里报错FAILED: ODPS-0130071:[2,5],是什么原因
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
29 0
|
13天前
|
分布式计算 DataWorks 关系型数据库
DataWorks产品使用合集之在DataWorks中,使用JSON解析函数将MySQL表中的字段解析成多个字段将这些字段写入到ODPS(MaxCompute)中如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
34 3
|
13天前
|
分布式计算 大数据 调度
MaxCompute产品使用合集之大数据计算MaxCompute底层加速查询的原理是什么
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。

热门文章

最新文章

相关产品

  • 云原生大数据计算服务 MaxCompute