大数据处理为何选择Spark,而不是Hadoop
来源:互联网 发布:python 文件读写 删除 编辑:程序博客网 时间:2024/06/08 15:57
一.基础知识
1.Spark
Spark是一个用来实现快速而通用的集群计算的平台。
在速度方面,Spark扩展了广泛使用的MapReduce计算模型,而且高效地支持更多计算模式,包括交互式查询和流处理。
Spark项目包含多个紧密集成的组件。Spark的核心是一个对由很多计算任务组成的、运行在多个工作机器或者是一个计算集群上的应用进行调度、分发以及监控的计算引擎。
2.Hadoop
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
二.大数据处理选择
根据Spark和Hadoop的基础知识,我们了解Spark和Hadoop都 可以进行大数据处理,那我们如何选择处理平台呢?
1.处理速度和性能
Spark扩展了广泛使用的MapReduce计算模型,其中Spark有个Directed Acyclic Graph(DAG有向无环图)执行引擎,支持循环数据流和内存计算。
Hadoop是磁盘级计算,进行计算时,都需要从磁盘读或者写数据,同时整个计算模型需要网络传输,导致MapReduce具有高延迟的致命弱点。
据统计,基于Spark内存的计算速度比Hadoop MapReduce快100倍以上,基于磁盘的计算速度也要快10倍以上。
2.开发难易度
Spark提供多语言(包括Scala、Java、Python)API,能够快速实现应用,相比MapReduce更简洁的代码,安装部署也无需复杂配置。使用API可以轻松地构建分布式应用,同时也可以使用Scala和Python脚本进行交互式编程。
3.兼容性
Spark提供了一个强大的技术栈,基于”One Stack to rule them all”的理念实现一体化、多元化的大数据处理平台,轻松应对大数据处理的查询语言Spark SQL、机器学习工具MLlib、图计算工具GraphX、实时流处理工具Spark Streaming无缝连接。
Hadoop的技术栈则相对独立复杂,各个框架都是独立的系统,给集成带来了很大的复杂和不确定性。
4.相互集成性
Spark可以运行在Hadoop集群管理Yarn上,这使得Spark可以读取Hadoop的任何数据。同时它也能读取HDFS、HBase、Hive、Cassandra以及任何Hadoop数据源。
参考文献:
王家林《大数据Spark企业级实战》
- 大数据处理为何选择Spark,而不是Hadoop
- storm、hadoop、spark大数据处理工具
- 大数据处理模式 hadoop storm spark
- 大数据处理 Hadoop、HBase、ElasticSearch、Storm、Kafka、Spark
- 搭建大数据处理集群(Hadoop,Spark,Hbase)
- 如何低成本、高效率搭建Hadoop/Spark大数据处理平台
- Spark 大数据处理技术
- 【spark 大数据处理技术】
- Hadoop大数据处理读书笔记
- Hadoop大数据处理流程
- Storm, Spark, Hadoop三个大数据处理工具谁将成为主流
- Storm, Spark, Hadoop三个大数据处理工具谁将成为主流
- Storm, Spark, Hadoop三个大数据处理工具谁将成为主流?
- Storm, Spark, Hadoop三个大数据处理工具谁将成为主流
- O'Reilly精品图书推荐:数据算法:Hadoop/Spark大数据处理技巧
- 大数据处理Hadoop学习文章
- 大数据处理架构Hadoop配置
- 1.大数据处理架构Hadoop
- 3GPP窄带物联网(NB-IoT)入门手册
- ajax
- Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
- HTTP协议详解
- html学习文档总结
- 大数据处理为何选择Spark,而不是Hadoop
- 设计模式之状态模式
- 使用AUI框架开发微信小程序
- myeclipse+tomcat 热部署
- k8s1.6伸缩性升级,支持处理5000 Node 和 15 万个 Pod
- Android随机验证码的生成
- #1139 : 二分·二分答案
- iOS开发-SourceTree+oschina代码托管
- Xcode之自定义代码块