当前位置: 首页 > article >正文

Spark和Hadoop之间的区别

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 也提供完整的灾难恢复功能。

http://www.kler.cn/a/451481.html

相关文章:

  • 如何识别钓鱼邮件和诈骗网站?(附网络安全意识培训PPT资料)
  • 【Yonghong 企业日常问题 06】上传的文件不在白名单,修改allow.jar.digest属性添加允许上传的文件SH256值?
  • 运动控制卡网络通讯的心跳检测之C#上位机编程
  • Issac ROS navigation测试
  • c++ [spdlog 配置与使用]
  • 贪心算法(三)
  • 后端接口返回文件流,前端下载(java+vue)
  • 特殊的“Undefined Reference xxx“编译错误
  • Rust 在前端基建中的使用
  • 深度学习在灾难恢复中的作用:智能运维的新时代
  • 【数据结构】数据结构整体大纲
  • 面试题整理18----Pause容器的用途
  • 代码随想录 day52 第十一章 图论part03
  • 医疗行业 UI 设计系列合集(一):精准定位
  • 【AI驱动的数据结构:包装类的艺术与科学】
  • 如何学习Trustzone
  • Linux下载RabbitMQ,并解决Github拒绝访问443的问题
  • 【仓颉语言体验】Hello World TCP客户端 C/C++ or Python
  • ResEmoteNet论文阅读与推理
  • 【可视化开源性能压测工具】小巧而强大的oha
  • 【数据结构2】线性表——顺序表
  • 动态规划:石子合并 图文+举例超详细说明
  • OpenCV相机标定与3D重建(26)计算两个二维点集之间的部分仿射变换矩阵(2x3)函数 estimateAffinePartial2D()的使用
  • AWTK 在树莓派 pico 上的移植笔记
  • HTMLCSSJavaScriptDOM 之间的关系?
  • 组态页面渲染器通过npm包方式使用页面没有渲染成功的问题