助力云上开源生态 - 阿里云开源大数据平台的发展

本文涉及的产品
EMR Serverless StarRocks,5000CU*H 48000GB*H
简介: 阿里云E-MapReduce (EMR) 是构建在阿里云云服务器 ECS 上的开源 Hadoop、Spark、HBase、Hive、Flink 生态大数据 PaaS 产品。提供用户在云上使用开源技术建设数据仓库、离线批处理、在线流式处理、即时查询、机器学习等场景下的大数据解决方案。在2019杭州云栖大会大数据生态专场上,阿里巴巴高级产品专家夏立为大家分享了阿里云EMR如何助力云上开源生态。

本场视频地址:助力云上开源生态 - 阿里云开源大数据平台的发展

PPT资料:助力云上开源生态 - 阿里云开源大数据平台的发展


本次分享的内容主要分为四个部分:

  1. 发展历程
  2. 云上现状
  3. 云上开源生态的最佳实践
  4. 开源大数据平台的发展展望

一、发展历程
在2015年,阿里巴巴刚开始做开源大数据平台的时候,摆在面前的有三种选择,分别是使用开源的Hadoop体系、CDH和HDP,以及当时的ODPS(现在的MaxCompute)。在那个时候,在大洋彼岸的AWS有一款大数据产品叫做EMR,因此阿里云当时也希望借鉴AWS的经验来做开源大数据平台,希望将大数据能力和云原生能力进行深度结合。
image.png

阿里云在2015年6月份的时候就开始研发自己的开源大数据平台并实现了第一个“镜像+脚本”的版本,这个版本可以实现在最短的时间内将Spark环境搭建起来,而且这个版本很快上线并且发布到GitHub上。当时使用的API很像现在的编排服务,但是这样服务的缺点是只能一次性搭建,因此维护起来非常麻烦。
image.png

在2015年11月份,阿里云正式将E-MapReduce独立云产品推出市场。大家都知道MapReduce的思想来自于谷歌,其代表了大数据理论,因此阿里巴巴将这款大数据产品命名为E-MapReduce,使得大家看到名字就知道其产品的主要作用。
image.png

阿里云E-MapReduce上线之后经过四年的时间发展到现在,E-MapReduce 4.0即将发布版本,并且在新版本中将会支持Hadoop 3.0以及其他新功能。
image.png

发展到今天,阿里云E-MapReduce将会为开源生态提供基础平台,在这个平台上能够让大家选择各种各样的开源产品,并且不会限制大家使用自定义的能力。此外,阿里云E-MapReduce也希望能够将阿里巴巴整个云智能平台的计算能力输出给大家,为大家提供云原生能力和弹性调度能力。未来,E-MapReduce会陆续集成各种开源技术和能力,并且会在这些开源技术之上为大家提供更好的优化的技术,一方面提高稳定性,另外一方面也提升性能,并且也会进行能力的适配。最后一点就是实现云原生的结合,大家使用开源或者自建的大数据方案往往难以和云原生技术或者基础设施进行结合或者难以获得较高的性能,因此阿里巴巴希望通过E-MapReduce能够更好地和云原生技术进行结合。
image.png

总结阿里巴巴E-MapReduce的发展历程,最开始就是实现了一个AWS EMR Like的产品,运行一年之后发现AWS的纯动态方式并不适合国内的场景,因此实现了第一次调整,更加重视常驻集群,并且强化作业合度调度能力。经过第一次调整之后,阿里云发现E-MapReduce的能力还是无法满足需求,因此在第二次调整中提供了完善的Web控制台能力,并且支持了集群的高可用和高安全,也在外围支持了Impala、Kafka、Druid等各个场景下的软件,进而可以更好地支持各个业务场景。除此之外,还支持了深度学习的场景,将经过阿里巴巴自身优化的机器学习算法提供到平台之上。如今,E-MapReduce仍在继续调整,希望能够提供更加完善的大数据平台,更加智能化的服务能力,并且使得底层更加轻量,也使得计算平台整体能力能够对外输出出去。
image.png

二、云上现状
云上的生态概览
下图展示了阿里云的大数据生态概览。在数据来源方面,开源方面有HDFS和Kafka,阿里巴巴则提供了OSS、SLS、RDS以及消息队列等服务。所有数据可以通过开源的Hive、Spark、Flink、Rresto、TensorFlow以及阿里巴巴的MaxCompute、Flink/TensorFlow等服务进行计算,并且还可以与阿里的自身体系如DataWorks、DataV以及QuickBI进行融合。目前,云上大数据方案可以认为是半托管的服务,阿里云能够帮助客户进行运维并且提供运维支撑服务。
image.png

多样的存储选择
在阿里云上,大数据存储主要有三种选择,分别为Hadoop HDFS、Alibaba HDFS和OSS。Hadoop HDFS有三种存储方式,EBS云盘存储数据可靠,但是后台有多个数据副本,因此成本较高,同时通过网络获取数据性能较低;D1本地磁盘以及I1/I2本地词盘性能比较高,成本也比较低,但是数据容易丢失,并且运维成本较高。另外一种选择是Alibaba HDFS,这种方式数据可靠,成本中等,并且数据全部通过网络传输,没有本地计算。OSS标准存储经过阿里巴巴的改造和优化之后可以直接在Hadoop中进行读写,这就是所谓的NativeOSS,NativeOSS存储数据可靠,成本较低,并且通用性比较好,但是性能比较低。因此,进一步在NativeOSS上进行了强化,实现了JindoFS,JindoFS做到了数据可靠,成本较低,性能高并且通用性较好,但是需要额外的存储成本。
image.png

弹性实践
云上做计算需要充分发挥出弹性能力,否则就无法发挥出云的真正价值。而为了发挥出云弹性能力,各大云产商的所有大数据能力都会有Master节点以及一组工作节点Task,Task节点只进行计算但是不会进行数据存储,因此在云上执行计算任务时,Task节点可以进行弹性伸缩,还可以通过Stop Instance来降低成本。在计算任务的高峰期购买Task节点,当高峰期过去之后,就可以释放Task节点。阿里云还为客户提供了一套伸缩机制,既可以按照时间伸缩,也可以按照负载伸缩。

image.png

集群架构
下图展示的是阿里云比较推荐的云上集群架构。如图中左侧所示的是建立的Hadoop集群,其底层全部使用OSS做数据存储,而在OSS之上存在几个独立的计算集群,比如Hive、Spark以及Presto等,而且这些集群全部都是灵活可销毁的。右侧同样建立Hadoop集群,而外侧则提供了Gateway以及Client来接受请求。此外,很多客户可能在云上没有使用OSS或者混合使用OSS和HDFS,借助这种集群架构,可以帮助用户跨越数据存储的障碍。
image.png
三、云上开源生态的最佳实践
存储的选择和优化
在2015年的时候,想要在阿里云上部署大数据平台只有云盘存储可以选择,比如使用SSD等高效存储盘,因此这样的成本会非常高。到2017年左右,阿里云智能团队和ECS团队合作做了本地盘机型,后来还和ECS团队合作做了D1,并且适配了一些国内更能够适应的场景。在2016年,E-MapReduce实现了和OSS的结合,当时因为带宽限制,因此使用的客户较少。到如今,针对之前的发展和合作经验,E-MapReduce可以选择使用JindoFS、Alibaba HDFS等进行存储。
image.png
IaaS层升级
为了让客户更好地使用E-MapReduce,IaaS层也经历了多次升级。第一代是D1和I1,第二代是D2和I2,提供了更高的网络带宽,本地磁盘提供了极高的性能,但同时也带来了运维成本的增加。而通过磁盘的热更换,提供了更好的体验整套的运维的支持链路,并且提供了整套硬件的监测、预警、通知、更换等操作完成主动运维流程。image.png
存储访问优化方案JindoFS
JindoFS的目的在于让大家更好地使用存储与计算分离的架构。在JindoFS的架构之下,所有数据都会存储在OSS上面,所有的计算都放在动态集群上面进行,并且可以随时进行计算伸缩,JindoFS为客户提供了高性能的数据存取能力,和高性价比、无限扩展的弹性存储能力。这里面临的最大挑战就是OSS和计算集群之间的网络带宽,而JindoFS方案中通过本地缓存技术大大降低了时延,提升了性能效率。同时,因为JindoFS采用了基于存储计算分离的架构,因此客户不用担心缓存数据的丢失问题。
image.png
更多的产品的融合和增强
阿里云E-MapReduce融合了更多的产品,比如Spark、Flink、TensorFlow、Elaticsearch、Dataworks等,并在这些产品的基础之上做了增强。
image.png
四、开源大数据平台的发展展望
阿里云E-MapReduce希望基于平台实现更多的方案,希望能够更好地赋能客户的业务场景。比如在实时数仓方案和Spark Streaming SQL中,实现了将业务数据库的数据实时同步到kudo中,可以实现对业务数据库中的数据进行实时OLAP分析的能力。
image.png
未来,EMR将会实现与K8S的融合,希望能够帮助客户更好地节约成本,让用户在阿里云内部可以腾挪自己的资源来完成各种工作,支持客户在业务低峰时将K8S节点加入到Hadoop节点中作为计算补充,在业务高峰时将集群还给业务,这样在不增加额外成本的情况下增加计算能力,更加充分地利用资源。
image.png
很多的用户希望实现多云和混合云,因此阿里巴巴希望为客户提供在线下IDC用法不变的情况下,将冷数据通过专线传输到动态存储,并且使用E-MapReduce等进行动态赋能和线下集群结合起来使用的能力,并且与此同时充分利用线下和线上的能力。image.png


阿里巴巴开源大数据技术团队成立Apache Spark中国技术社区,定期推送精彩案例,技术专家直播,问答区数个Spark技术同学每日在线答疑,只为营造纯粹的Spark氛围,欢迎钉钉扫码加入!
二维码.JPG

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
7天前
|
SQL DataWorks 数据可视化
阿里云DataWorks评测:大数据开发治理平台的卓越表现
阿里云DataWorks是一款集数据集成、开发、分析与管理于一体的大数据平台,支持多种数据源无缝整合,提供可视化ETL工具和灵活的任务调度机制。其内置的安全体系和丰富的插件生态,确保了数据处理的高效性和安全性。通过实际测试,DataWorks展现了强大的计算能力和稳定性,适用于中小企业快速搭建稳定高效的BI系统。未来,DataWorks将继续优化功能,降低使用门槛,并推出更多灵活的定价方案,助力企业实现数据价值最大化。
|
7天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
34 2
|
1月前
|
存储 分布式计算 大数据
【赵渝强老师】阿里云大数据生态圈体系
阿里云大数据计算服务MaxCompute(原ODPS)提供大规模数据存储与计算,支持离线批处理。针对实时计算需求,阿里云推出Flink版。此外,阿里云还提供数据存储服务如OSS、Table Store、RDS和DRDS,以及数据分析平台DataWorks、Quick BI和机器学习平台PAI,构建全面的大数据生态系统。
73 18
|
2天前
|
SQL 存储 分布式计算
阿里云 Paimon + MaxCompute 极速体验
Paimon 和 MaxCompute 的对接经历了长期优化,解决了以往性能不足的问题。通过半年紧密合作,双方团队专门提升了 Paimon 在 MaxCompute 上的读写性能。主要改进包括:采用 Arrow 接口减少数据转换开销,内置 Paimon SDK 提升启动速度,实现原生读写能力,减少中间拷贝与转换,显著降低 CPU 开销与延迟。经过双十一实战验证,Paimon 表的读写速度已接近 MaxCompute 内表,远超传统外表。欢迎体验!
|
1月前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
2月前
|
存储 机器学习/深度学习 分布式计算
大数据技术——解锁数据的力量,引领未来趋势
【10月更文挑战第5天】大数据技术——解锁数据的力量,引领未来趋势
|
1月前
|
存储 分布式计算 数据挖掘
数据架构 ODPS 是什么?
数据架构 ODPS 是什么?
348 7
|
1月前
|
存储 分布式计算 大数据
大数据 优化数据读取
【11月更文挑战第4天】
53 2
|
1月前
|
数据采集 监控 数据管理
数据治理之道:大数据平台的搭建与数据质量管理
【10月更文挑战第26天】随着信息技术的发展,数据成为企业核心资源。本文探讨大数据平台的搭建与数据质量管理,包括选择合适架构、数据处理与分析能力、数据质量标准与监控机制、数据清洗与校验及元数据管理,为企业数据治理提供参考。
90 1
|
29天前
|
机器学习/深度学习 存储 大数据
在大数据时代,高维数据处理成为难题,主成分分析(PCA)作为一种有效的数据降维技术,通过线性变换将数据投影到新的坐标系
在大数据时代,高维数据处理成为难题,主成分分析(PCA)作为一种有效的数据降维技术,通过线性变换将数据投影到新的坐标系,保留最大方差信息,实现数据压缩、去噪及可视化。本文详解PCA原理、步骤及其Python实现,探讨其在图像压缩、特征提取等领域的应用,并指出使用时的注意事项,旨在帮助读者掌握这一强大工具。
69 4