和封神一起“深挖”Spark

本文涉及的产品
对象存储 OSS,20GB 3个月
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
云原生大数据计算服务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引擎的一部分,我们还有支持了其它非常多的引擎,如在离线处理、在线流式、在线存储及交互式查询等各个方面。基于我们过去许多年在阿里内部的沉淀,在易用性、成本、性能、运维等各方面具有阿里开源大数据的技术能力,欢迎大家使用。

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
分布式计算 资源调度 大数据
【决战大数据之巅】:Spark Standalone VS YARN —— 揭秘两大部署模式的恩怨情仇与终极对决!
【8月更文挑战第7天】随着大数据需求的增长,Apache Spark 成为关键框架。本文对比了常见的 Spark Standalone 与 YARN 部署模式。Standalone 作为自带的轻量级集群管理服务,易于设置,适用于小规模或独立部署;而 YARN 作为 Hadoop 的资源管理系统,支持资源的统一管理和调度,更适合大规模生产环境及多框架集成。我们将通过示例代码展示如何在这两种模式下运行 Spark 应用程序。
255 3
|
3月前
|
分布式计算 Hadoop 大数据
Spark 与 Hadoop 的大数据之战:一场惊心动魄的技术较量,决定数据处理的霸权归属!
【8月更文挑战第7天】无论是 Spark 的高效内存计算,还是 Hadoop 的大规模数据存储和处理能力,它们都为大数据的发展做出了重要贡献。
83 2
|
6月前
|
分布式计算 大数据 Java
大数据必知必会系列——面试官问能不能手写一个spark程序?[新星计划]
大数据必知必会系列——面试官问能不能手写一个spark程序?[新星计划]
74 0
|
6月前
|
存储 分布式计算 Apache
官宣|Apache Paimon 毕业成为顶级项目,数据湖步入实时新篇章!
Apache Paimon 在构建实时数据湖与流批处理技术领域取得了重大突破,数据湖步入实时新篇章!
3128 6
官宣|Apache Paimon 毕业成为顶级项目,数据湖步入实时新篇章!
|
6月前
|
分布式计算 搜索推荐 Hadoop
阿里巴巴资深架构师熬几个通宵肛出来的Spark+Hadoop+中台实战pdf
Spark大数据分析实战 1、Spark简介 初识Spark Sp ark生态系统BDAS Sp ark架构与运行逻辑 弹性分布式数据集
|
存储 SQL Cloud Native
与创新者同行,Apache Doris in 2023
我们为大家整理了 Doris Summit Asia 2023 峰会的全程回顾视频和演讲资料,现在材料已开放下载,欢迎大家观看学习~
|
消息中间件 存储 SQL
Apache Paimon 在同程旅行的实践进展
同程旅行大数据计算组负责人吴祥平,在 Apache Paimon Meetup 的分享。
569 0
Apache Paimon 在同程旅行的实践进展
|
SQL 机器学习/深度学习 分布式计算
小六六学大数据之 Spark(一)
前言 文本已收录至我的GitHub仓库,欢迎Star:github.com/bin39232820… 种一棵树最好的时间是十年前,其次是现在
146 0
|
SQL 自然语言处理 大数据
8大行业场景!最新 Apache Flink 行业案例集火热出炉
Apache Flink 社区携手一线企业重磅推出8大行业实践案例,本书整理了 Flink 社区近一年的行业案例,供大家参考!
8大行业场景!最新 Apache Flink 行业案例集火热出炉
|
SQL 机器学习/深度学习 分布式计算
Spark通识
Apache Spark是一种快速、通用、可扩展、可容错的、基于内存迭代计算的大数据分析引擎。首先强调一点, Spark目前是一个处理数据的计算引擎, 不做存储。首先咱们通过一张图来看看目前Spark生态圈都包括哪些核心组件:
Spark通识