[转帖]大数据hadoop与spark的区别
大数据hadoop与spark的区别
https://www.cnblogs.com/adnb34g/p/9233906.html
学习hadoop已经有很长一段时间了,好像是二三月份的时候朋友给了一个国产Hadoop发行版下载地址,因为还是在学习阶段就下载了一个三节点的学习版玩一下。在研究、学习hadoop的朋友可以去找一下看看(发行版 大快DKhadoop,去大快的网站上应该可以下载到的。)
在学习hadoop的时候查询一些资料的时候经常会看到有比较hadoop和spark的,对于初学者来说难免会有点搞不清楚这二者到底有什么大的区别。我记得刚开始接触大数据这方面内容的时候,也就这个问题查阅了一些资料,在《FreeRCH大数据一体化开发框架》的这篇说明文档中有就Hadoop和spark的区别进行了简单的说明,但我觉得解释的也不是特别详细。我把个人认为解释的比较好的一个观点分享给大家:
它主要是从四个方面对Hadoop和spark进行了对比分析:
1、目的:首先需要明确一点,hadoophe spark 这二者都是大数据框架,即便如此二者各自存在的目的是不同的。Hadoop是一个分布式的数据基础设施,它是将庞大的数据集分派到由若干台计算机组成的集群中的多个节点进行存储。Spark是一个专门用来对那些分布式存储的大数据进行处理的工具,spark本身并不会进行分布式数据的存储。
2、两者的部署:Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。所以使用Hadoop则可以抛开spark,而直接使用Hadoop自身的mapreduce完成数据的处理。Spark是不提供文件管理系统的,但也不是只能依附在Hadoop上,它同样可以选择其他的基于云的数据系统平台,但spark默认的一般选择的还是hadoop。
3、数据处理速度:Spark,拥有Hadoop、 MapReduce所具有能更好地适用于数据挖掘与机器学习等需要迭代的的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,
Spark 是一种与hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。
4、数据安全恢复:Hadoop每次处理的后的数据是写入到磁盘上,所以其天生就能很有弹性的对系统错误进行处理;spark的数据对象存储在分布于数据集群中的叫做弹性分布式数据集中,这些数据对象既可以放在内存,也可以放在磁盘,所以spark同样可以完成数据的安全恢复。
最新文章
- Linux上安装php
- .NET设计模式(10):装饰模式(Decorator Pattern)(转)
- readonly disabled 区别
- Android Studio美化之优雅的logcat
- html基础标签-1-pre预格式标签
- django 调试 监控文件变化 自动刷新浏览器
- NoClassDefFoundError: org/apache/commons/lang3/StringUtils
- 一道面试题引发的思考(C#值类型和引用类型)
- IDEA 简单的正则匹配
- matlab画图变粗脚本
- Flume 案例 Telnet安装及采集Telnet发送信息到控制台
- 关于 SAXParseException Content is not allowed in Prolog (前言中不允许有内容)
- adb push 和 adb pull命令
- http和https的区别与联系
- Java 希尔排序
- Android -- Gradle
- js图片跟随鼠标移动
- (杭电 2054)A==B?(这真是个巨坑)
- Python【变量】
- PHP操作MongoDB数据库具体样例介绍(增、删、改、查) (六)
热门文章
- HDU 6194 string string string ——(2017沈阳网络赛,后缀数组)
- template里面要做数据渲染,但是数据还没有出来
- 【caffe Layer】代码中文注释
- LeetCode 第 155 场周赛
- Python操作MySQL数据库(步骤教程)
- Software Project Management_JUnit &;&; Maven
- [设计原则与模式] 如何理解TDD的三条规则
- UE4虚幻引擎独立游戏制作教程 UE4编程教学 虚幻引擎4
- spring线程池的应用
- MAC下快速打开指定目录(转)