目录1. spark 与 hadoop 比较1.1 Haoop 的缺点1.2 相较于Hadoop MR的优点2. Spark 生态系统2.1 大数据处理的三种类型1. 复杂的批量数据
Spark | mapReduce | |
数据存储结构 | 使用内存构建弹性分布式数据集RDD,对数据进行运算和cache。 | 磁盘hdfs文件系统的split |
编程范式 | DAG(Transformation+Action) | Map+Reduce |
计算中间结果的存储 | 在内存中维护,存取速度比磁盘高几个数量级 | 落到磁盘,IO及序列化、反序列化代价大 |
Task维护方式 | 线程 | 进程 |
时间 | 对于小数据集读取能够达到亚秒级的延迟 | 需要数秒时间才能启动任务 |
时间跨度在数十分钟到数小时
Haoop MapReduce
时间跨度在数十秒到数分钟
Cloudera、Impala 这两者实时性均优于Hive。
时间跨度在数百毫秒到数秒
Storm
Spark采用Executor的优点:(相比于Hadoop的MR)
当执行一个Application时,Driver会向集群管理器申请资源,启动Executor,
并向Executor发送应用程序代码和文件,然后在Executor上执行Task,运行结束后,
执行结果会返回给Driver,或者写到HDFS或者其他数据库中。
1. 为应用构建起基本的运行环境,即由Driver创建一个SparkContext进行资源的申请、任务的分配和监控。
2. 资源管理器为Executor分配资源,并启动Executor进程。
4. Task在Executor上运行把执行结果反馈给TaskScheduler,然后反馈给DAGScheduler,运行完毕后写入数据并释放所有资源。
1. 每个Application都有自己专属的Executor进程,并且该进程在Application运行期间一直驻留。Executor进程以多线程的方式运行Task。
2. Spark运行过程与资源管理器无关,只要能够获取Executor进程并保持通信即可。
3. Task采用了数据本地性和推测执行等优化机制。(计算向数据靠拢。)
类似于MR1.0,slot为资源分配单位,但性能并不好。
Mesos和Spark有一定的亲缘关系。
mesos和yarn的联系
这种部署方式较为繁琐。
Spark用快速的小批量计算模拟流计算,并非真实的流计算。
无法实现毫秒级的流计算,对于需要毫秒级实时响应的企业应用而言,仍需采用流计算框架Storm等。
好处如下:
现状:
1. Spark目前还是无法取代Hadoop生态系统中的一些组件所实现的功能。
2. 现有的Hadoop组件开发的应用,完全迁移到Spark上需要一定的成本。
到此这篇关于Spark简介以及与Hadoop对比分析的文章就介绍到这了,更多相关Spark与Hadoop内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: Spark简介以及与Hadoop对比分析
本文链接: https://www.lsjlt.com/news/134021.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-13
2024-05-13
2024-05-11
2024-05-11
2024-05-10
2024-05-07
2024-04-30
2024-04-30
2024-04-30
2024-04-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0