1 、 Hadoop
Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构。 用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。 Hadoop 实现了一个分布式文件系统(Hadoop Distributed File System , HDFS )。 HDFS 有高容错性的特点,并且设计用来部署在低廉的(low-cost )硬件上;而且它提供高吞吐量( high throughput )来访问应用程序的数据,适合那些有着 超大数据集( large data set )的应用程序。 HDFS 放宽了( relax ) POSIX 的要求,可以以流的形式访问(streaming access )文件系统中的数据。
Hadoop 的框架最核心的设计就是: HDFS 和 MapReduce 。 HDFS 为海量的数据提供了存储,而 MapReduce为海量的数据提供了计算。
2 、 Spark
Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。 Spark 是 UC Berkeley AMP lab ( 加州大学伯克利分校的AMP 实验室 ) 所开源的类 Hadoop MapReduce 的通用并行框架, Spark 拥有 Hadoop MapReduce所具有的优点;但不同于 MapReduce 的是 ------Job 中间输出结果可以保存在内存中,从而不再需要读写HDFS ,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。
Spark 在某些工作负载方面表现得更加优越,换句话说, Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。
Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同, Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。 尽管创建 Spark 是为了支持分布式数据集上的迭代作业,但是实际上它是对 Hadoop 的补充,可以在 Hadoop 文件系统中并行运行。通过名为 Mesos 的第三方集群框架可以支持此行为。
3 、数据的存储和处理区别
Hadoop 实质上更多是一个分布式系统基础架构 : 它将巨大的数据集分派到一个由普通计算机组成的集群中的多个节点进行存储,同时还会索引和跟踪这些数据,大幅度提升大数据处理和分析效率。Hadoop可以独立完成数据的存储和处理工作,因为其除了提供 HDFS 分布式数据存储功能 ,还 提供 MapReduce 数据处理功能 。
Spark 是一个专门用来对那些分布式存储的大数据进行处理的工具, 没有提供文件管理系统,自身不会 进行数据的存储 。它必须和其他的分布式文件系统进行集成才能运作。可以选择 Hadoop 的 HDFS, 也可以选择其他平台。
4 、处理速度区别
Hadoop 是磁盘级计算,计算时需要在磁盘中读取数据;其采用的是 MapReduce 的逻辑,把数据进行切片计算用这种方式来处理大量的离线数据。
Spark ,它会在内存中以接近 " 实时 " 的时间完成所有的数据分析。 Spark 的批处理速度比 MapReduce 快近10倍,内存中的数据分析速度则快近 100 倍。比如实时的市场活动,在线产品推荐等需要对流数据进行分析场景就要使用Spark 。
5 、灾难恢复
Hadoop 将每次处理后的数据写入磁盘中,对应对系统错误具有天生优势。
Spark 的数据对象存储在弹性分布式数据集 (RDD:) 中。这些数据对象既可放在内存,也可以放在磁盘,所以RDD 也提供完整的灾难恢复功能。
Spark和Hadoop之间的区别
lucky_syq2024-12-25 10:36
相关推荐
IT研究室1 小时前
大数据毕业设计选题推荐-基于大数据的贵州茅台股票数据分析系统-Spark-Hadoop-BigdataLx3522 小时前
Hadoop异常处理机制:优雅处理失败任务小嵌同学2 小时前
Linux:malloc背后的实现细节IT毕设梦工厂3 小时前
大数据毕业设计选题推荐-基于大数据的国家基站整点数据分析系统-Hadoop-Spark-数据可视化-BigData江瀚视野4 小时前
苹果要在抖音上卖iPhone了?苹果看上了抖音什么?微三云-轩4 小时前
区块链系统:解决549 亿元积分商城是否违法的问题项目題供诗4 小时前
Hadoop(八)在未来等你5 小时前
Kafka面试精讲 Day 7:消息序列化与压缩策略在未来等你5 小时前
Kafka面试精讲 Day 10:事务机制与幂等性保证武子康5 小时前
大数据-91 Spark广播变量:高效共享只读数据的最佳实践 RDD+Scala编程