和封神一起“深挖”Spark

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
对象存储 OSS,标准 - 本地冗余存储 20GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 2016云栖大会·北京峰会于8月9号在国家会议中心拉开帷幕,在云栖社区开发者技术专场中,来自阿里云技术专家曹龙(封神)为在场的听众带来《Deep dive into Spark》精彩分享。 关于分享者 曹龙,花名封神,专注在大数据领域,6年分布式引擎研发经验。先后研发上万台Hadoop、ODPS

2016云栖大会·北京峰会于89号在国家会议中心拉开帷幕,在云栖社区开发者技术专场中,来自阿里云技术专家曹龙(封神)为在场的听众带来《Deep dive into Spark》精彩分享。

关于分享者

曹龙,花名封神,专注在大数据领域,6年分布式引擎研发经验。先后研发上万台Hadoop、ODPS集群。先后负责阿里YARN、Spark及自主研发内存计算引擎。目前为广大公共云用户提供专业的Hadoop服务,即:E-mapreduce产品

演讲内容架构

  • 数据处理技术介绍
  • Spark 介绍
  • Spark Plus
  • Spark 应用场景
  • Spark 在云上
  • Spark 常见的问题
  • E-MapReduce大数据平台

演讲主要内容

大数据通常自上而下分为大数据产品、数据治理/作业生命周期、作业管理/作业流、分布式计算、分布式存储、分布式调度、硬件/机房七层。本次演讲的重点在于分布式计算层。

f3970574979966a58844b39d8df0c81e92bcadfc

在以时间、数据量的坐标抽上列出目前引擎大致擅长处理数据的坐标,应该还需要加上数据复杂度、成本等维度,才能更好的体现侧重点,这里不列出。没有哪个软件能解决所有的问题,能解决问题也是在一个范围内,即使是spark、flink等。目前存在有意思的事情是:greenplum类似的MPP引擎想处理大数据的需求,hadoop等被定位为大数据的引擎也想解决小数据的问题(列式存储、或者也加入一些索引)。图中右上角的想往左边靠,减少延迟,图中左下角的想往上面靠,增大能处理的数据量。

ad120b34cebcf8e2a976fa1b0c8d58c37d070b6f

DB/MPP跟Hadoop引擎相对比,两者有很大的不同,具体差异参见下图。从硬件、容错、调度模型及衡量标准方面各自都侧重一方面,对于事务性、index等,Hadoop引擎当前是不支持的。另外MPP其实也在跟Hadoop在融合,比如MPP on HDFS,Spark on DB也在实现。

4cbdec4f9990068999fe79400f7619e906fb262b

Hadoop生态计算引擎目前包括:Hadoop MapReduce、Spark/Spark 2.0、TEZ、Flink等,这里从计算模型,各自的特点分为了1G、2G、3G、3.8G、4G,分别代表其理论先进程度。Spark理论上并不是最先进的,但是目前来讲应该是最适合的。

3d709bdca3380c309968811e984fdb6aafb3044d

Spark 介绍

下图展示的是Spark的趋势,可以清楚地看到,在2012年至2013年间,Spark有了一个很大的转折,在那时候,阿里也在逐步使用Spark,到今天,Spark和Hadoop逐渐持平发展。

a518db35b2c2e5e7c050b2d377588799170ac9da

Spark 提供 SQL、机器学习库 MLlib、流计算 Streaming 和图计算 Graphx,同时也支持 Scala、Java、Python 和 R 语言开发的基于 API 的应用程序。下图显示的是Spark 1.0的基础架构。

68c234062f7d39f97646f2155fd48d675853359a

下图是Spark 2.0的基础架构,对比于1.0,Spark 2.0主要聚焦于两个方面:(1)对标准的SQL支持。(2)统一的DataFrame和Dataset(逻辑执行计划)API。特别的以后一些的API都是基于Catalyst的。

eb3c410cce367c9173b647cae007a3041a4808e0

完整的Spark链路如下图所示,主要包括SQL、RDD、Task、Thread。

59e453a4e088e474e89b5ed06ea85259226bdb01


Spark Plus

常见的Spark puls有:Spark部署模式、Spark弹性伸缩、Spark+aliuxio(加速)、与业务系统融合(解耦,业务系统与大数据系统)、Spark+数据库服务、Spark+存储格式。

其中弹性伸缩让Spark上大集群成为了可能;在Spark+存储格式中:1 TB数据的存储相对比文本节省了将近 75%;性能按照不同的query提高从几倍到数十倍不等。

90281433cdc3da77eb2915e1ee6759ae9c71ab57

常见的Spark应用场景包括:ETL、机器学习、流式计算、即时查询。

080ffc6ccd184aa2db23cbfa9dece65682171d9c

其中,在ETL场景中,通过Spark SQL 、Spark API、Dataset实现图片、语音、视频等信息的在线/离线数据抽取、转化为结构化数据,便于后续分析处理。

0ffda9a77c58932e4a0ef771e5b8598652a9f938

Spark 在云上

Spark在云上的最佳实践是将存储与计算分离,下图展现了自建ECS和EMP+OSS的存储计算分离成本估算对比情况。

e414db0ec9eeceb18626daec885ed1c74ce7fe07

下图展示的是自建ECS和EMP+OSS的terasort时间对比,这里自建ECS配置参数是1 master 4cpu 16g和8 Slave 4cpu 16g;EMR+OSS的参数是1 master 4cpu 16g和8 Slave 4cpu 16g。

6cce621b536a112085418a07ff44551034079977

下图展现了自建ECS和EMP+OSS的存储计算分离性能对照图,左边是ECS自建,右边是EMP+OSS。

282ad77b9ffb671e2369fc6cc8350908f82686d6 

Spark常见的问题包括卡住、内存溢出、GC频繁。


3408cc14de9787220b17180e7fd4790ac68c3fd7 

随着Spark 2.0的发布,Spark逐渐趋于成熟,未来Spark的发展方向:

  • 支持ANSI SQL
  • 性能接近MPP数据仓库
  • 一切基于优化(Catalyst)
  • 新硬件的支持,比如:大内存、GPU
  • 更加友好的支持云

 76d1c3c28e69e6b8d2580183935c54334ad1383e 

E-MapReduce大数据平台

E-MapReduce 是运行在阿里云平台上的开源大数据处理系统解决方案。它能够让用户将Apache Hadoop和Apache Spark等开源引擎运行在阿里云的云平台上,提供给用户在云上的分析和处理大数据的平台。我们提供管控系统、运维系统及后续的专家系统帮用户解决自动化的问题,并提供专家服务帮助客户解决疑难杂症。

87bc6930926e2337a84e2927dc175ec989af306e 

E-MapReduce产品的架构如下图所示:

 271c57b4f9628af67bfc41771fa6db5a7f414ff4 

从上图可以看出,Spark生态是E-MapReduce引擎的一部分,我们还有支持了其它非常多的引擎,如在离线处理、在线流式、在线存储及交互式查询等各个方面。基于我们过去许多年在阿里内部的沉淀,在易用性、成本、性能、运维等各方面具有阿里开源大数据的技术能力,欢迎大家使用。

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5月前
|
人工智能 OLAP 数据处理
解锁数仓内AI流水线,AnalyticDB Ray基于多模ETL+ML提效开发与运维
AnalyticDB Ray 是AnalyticDB MySQL 推出的全托管Ray服务,基于开源 Ray 的丰富生态,经过多模态处理、具身智能、搜索推荐、金融风控等场景的锤炼,对Ray内核和服务能力进行了全栈增强。
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
341 1
|
存储 SQL Cloud Native
离在线一体化云原生数仓发展思考
OLAP是一个很卷的赛道,创业公司也众多。基于笔者10+年的大数据与数据仓库的工作经验,就目前的数据仓库主流趋势:离在线一体化、引擎一体化、云原生化等写一些思考,抛砖引玉。
552 57
|
Cloud Native Serverless 测试技术
祝贺!我的同事丁宇获“2023 年度云原生产业领军人物”荣誉称号
祝贺!我的同事丁宇获“2023 年度云原生产业领军人物”荣誉称号
1118 100
|
监控 Java 数据库连接
解决Spring Boot中的数据库连接池问题
解决Spring Boot中的数据库连接池问题
|
弹性计算 运维 Kubernetes
全景剖析阿里云容器网络数据链路(一):Flannel
本文是[全景剖析容器网络数据链路]第一部分,主要介绍 Kubernetes Flannel 模式下,数据面链路的转转发链路。
全景剖析阿里云容器网络数据链路(一):Flannel
|
SQL 存储 机器学习/深度学习
流批一体架构在快手的实践和思考
快手技术专家、Apache Flink & Apache Calcite Committer 张静,在 FFA 流批一体专场的分享。
流批一体架构在快手的实践和思考
|
设计模式 分布式计算 算法
ForkJoinPool大型图文现场(一阅到底 vs 直接收藏)(上)
ForkJoinPool大型图文现场(一阅到底 vs 直接收藏)(上)
ForkJoinPool大型图文现场(一阅到底 vs 直接收藏)(上)
《智能网络 智能运营 迅游高速增长的数据化运营实践》电子版地址
智能网络 智能运营 迅游高速增长的数据化运营实践
108 0
《智能网络 智能运营 迅游高速增长的数据化运营实践》电子版地址
|
Python
python-安装easy_install和pip(win64位)
学习python-安装easy_install和pip(win64位)。
381 0
python-安装easy_install和pip(win64位)