spark封神之路(1)-spark简介
1 Spark简介
Spark是一种快速、通用、可扩展的大数据分析引擎,2009年诞生于加州大学伯克利分校AMPLab,2010年开源,2013年6月成为Apache孵化项目,2014年2月成为Apache的顶级项目,2014年5月发布spark1.0,2016年7月发布spark2.0,2020年6月18日发布spark3.0.0
- 快如闪电的统一分析引擎
- 分析处理海量的数据
MapReduce: 运算模型单一[ map(落地) shuffle reduce],和磁盘频繁的交互 !
Spark: 读取-->数据-处理-数据-处理-数据-处理-数据-->保存 运算内存中传递和处理
1.1 Speed:快速高效
Hadoop的MapReduce作为第一代分布式大数据计算引擎,在设计之初,受当时计算机硬件条件所限(内存、磁盘、cpu等),为了能够计算海量数据,需要将中间结果保存到HDFS中,那么就要频繁读写HDFS从而使得网络IO和磁盘IO成为性能瓶颈。Spark可以将中间结果写到本地磁盘或将中间cache到内存中,节省了大量的网络IO和磁盘IO开销。并且Spark使用更先进的DAG任务调度思想,可以将多个计算逻辑构建成一个有向无环图,并且还会将DAG先进行优化后再生成物理执行计划,同时 Spark也支持数据缓存在内存中的计算。性能比Hadoop MapReduce快100倍。即便是不将数据cache到内存中,其速度也是MapReduce10 倍以上。
1.2 简洁易用
Spark支持 Java、Scala、Python和R等编程语言编写应用程序,大大降低了使用者的门槛。自带了80多个高等级操作算子,并且允许在Scala,Python,R 的使用命令进行交互式运行,可以非常方便的在Spark Shell中地编写spark程序。
1.3 全栈式数据处理
*Spark提供了统一的大数据处理解决方案*,非常具有吸引力,毕竟任何公司都想用统一的平台去处理遇到的问题,减少开发和维护的人力成本和部署平台的物力成本。 同时Spark还支持SQL,大大降低了大数据开发者的使用门槛,同时提供了SparkStream和Structed Streaming可以处理实时流数据;MLlib机器学习库,提供机器学习相关的统计、分类、回归等领域的多种算法实现。其高度封装的API 接口大大降低了用户的学习成本;Spark GraghX提供分布式图计算处理能力;PySpark支持Python编写Spark程序;SparkR支持R语言编写Spark程序。
1.4 兼容性良好
Spark支持的多种部署方案:Standalone是Spark自带的资源调度模式;Spark可以运行在Hadoop的YARN上面;Spark 可以运行在Mesos上(Mesos是一个类似于YARN的资源调度框架);Spark还可以Kubernetes实现容器化的资源调度
1 单机运行 测试
2 Yarn 资源调度平台
3 自带集群模式
4 第三方调度平台
丰富的数据源支持: Spark除了可以访问操作系统自身的本地文件系统和HDFS之外,还可以访问 Cassandra、HBase、Hive、Alluxio(Tachyon)以及任何 Hadoop兼容的数据源。这极大地方便了已经 的大数据系统进行顺利迁移到Spark。
1.5 对比MapReduce
框架 |
优点 |
缺点 |
MapReduce |
历史悠久、稳定 |
编程API不灵活、速度慢、只能做离线计算 |
Spark |
通用、编程API简洁、快 |
有的时候没有MR程序稳定 |
面试题:MapReduce和Spark的本质区别
1.MR只能做离线计算,如果实现复杂计算逻辑,一个MR搞不定,就需要将多个MR按照先后顺序连成一串,一个MR计算完成后会将计算结果写入到HDFS中,下一个MR将上一个MR的输出作为输入,这样就要频繁读写HDFS,网络IO和磁盘IO会成为性能瓶颈。从而导致效率低下。
2.既可以做离线计算,有可以做实时计算,提供了抽象的数据集(RDD、Dataset、DataFrame、DStream)
有高度封装的API,算子丰富,并且使用了更先进的DAG有向无环图调度思想,可以对执行计划优化后在执行,并且可以数据可以cache到内存中进行复用。
注意:MR和Spark在Shuffle时数据都落本地磁盘
spark封神之路(1)-spark简介相关推荐
- spark封神之路(2)-spark运行模式
本专栏系列视频教程 2 spark运行模式入门 1.官网地址 http://spark.apache.org/ 2.文档查看地址 https://spark.apache.org/docs/2.1.1 ...
- spark封神之路(7)-RDD算子详解第一部分
1 算子简介 算子是一个函数空间到函数空间上的[映射]O:X→X.广义上的算子可以推广到任何空间,如[内积空间]等. RDD上的方法称为算子 在 RDD 上支持 2 种操作: transformati ...
- “自由主义教皇” 、Linux 之父的封神之路
作者 | 年素清 责编 | 王晓曼 出品 | 程序人生(ID:coder_life) "有些人生来就具有统率百万人的领袖风范:另一些人则是为写出颠覆世界的软件而生.唯一一个能同时做到这两者的 ...
- GitHub 的“封神”之路!
2008年,在无数人为代码协作方式而感到异常头疼的时候,GitHub 横空出世,完美契合了市场的迫切需求.自此,它以惊人的速度成长起来并蔓延到全世界,彻底融入开发编程的日常之中.仅仅十年,现在的 Gi ...
- 微服务架构师封神之路09-Springboot多数据源,Hikari连接池和事务配置
微服务架构师封神之路09-Springboot多数据源,Hikari连接池,和事务的配置 application.yml 初始化DataSource DataSourceConfig的两种写法 写法一 ...
- python猜数字1001untitled_pytest封神之路第零步 快速入门
背景:本文是在系列第五篇发表后的补充篇章,第一篇介绍了tep,可能对不熟悉pytest的朋友不够友好,特意补充入门篇,帮大家快速了解如何动手写pytest.如果你是从这篇文章第一次阅读,那么请忽略以上 ...
- 微服务架构师封神之路02-为你的微服务应用添加日志
微服务架构师封神之路02-为你的微服务应用添加日志 关于Kubernetes日志架构 我们的目标 helloworld project 项目结构 pom.xml Dockerfile AppMain. ...
- 和封神一起“深挖”Spark
2016云栖大会·北京峰会于8月9号在国家会议中心拉开帷幕,在云栖社区开发者技术专场中,来自阿里云技术专家曹龙(封神)为在场的听众带来<Deep dive into Spark>精彩分享. ...
- 90后「V神」封神之路:4岁学编程,19岁创办以太坊,4年十亿身家!
来源:新智元 他眼里闪烁着晶蓝光芒. 看似平平无奇,却是你羡慕的另一个90后「天才少年」. 4岁开始编程,19岁辍学,从此便开创了一段传奇. 他是Vitalik Buterin,人称「V神」,就连俄罗 ...
最新文章
- java 二分查找
- 40个方法优化你的PHP
- [转]MVC实用架构设计(三)——EF-Code First(3):使用T4模板生成相似代码
- GCC全过程详解+剖析生成的.o文件
- selenium + python自动化测试unittest框架学习(二)
- ITK:Perona Malik在灰度图像上的各向异性扩散
- 深度剖析Apache Shardingsphere对分布式事务的支持
- 试图安装客户出现SSR问题的Spartacus Storefront时遇到的错误消息
- 通过Attached Property给控件绑定Command(三)
- AI软件制作莫比乌斯环
- 小程序键盘遮挡输入框情况之一
- 支付宝拿技术开刀把扫码无情地革掉
- Windows7系统如果安装升级IE11浏览器
- 用友rep文件改为html形式,如何利用ufo简版工具修改用友凭证模板
- 千锋Python培训教程合集
- java发送邮件格式_java使用main函数进行邮件发送怎样设置邮件格式
- Win7系统彻底删除打印机驱动
- 阿里云服务器ECS开放8080端口
- C语言程序设计-引言
- 牛顿3种方法解重根情形对比
热门文章
- 《预训练周刊》第66期:智源2022大模型创新论坛、 ChatGPT手把手debug代码、AI与物理的交融...
- 从零学习VH6501(八) —— 采样点测试
- [InnoDB] #CORRUPT LOG RECORD FOUND#[MySQL InnoDB表空损坏,数据库无法启动]#
- Resultful接口实现后端文件下载
- 逍遥模拟器代理Charles与Burpsuite联动
- Kubernetes权威指南(下)
- iPhone 导入照片显示时间不是拍摄时间
- 番茄钟怎么调_实操番茄钟使用方法
- 学历,工作经验,火焰纹章
- 微信小程序、微信低版本兼容