zoukankan      html  css  js  c++  java
  • Spark和Hadoop的联系和区别

    首先我们来看看Hadoop的相关简短回顾:

      1. Hadoop是由Java语言编写,在分布式集群上存储海量数据并运行分布式分析应用框架

      2. HDFS为其存储数据的分布式文件系统

      3.  分布式计算框架为MapReduce

      4. HBase一个基于HDFS的分布式非关系型数据库

      5. Yarn作为分布式资源调度框架

    再来看看Spark:

      1. 开发语言 为 Scala

      2. 基础于核心  ==  Spark Core

      3. Spark SQL 用来操作结构化数据的组件。可以通过使用 SQL 语言来查询数据

      4. Spark Streaming 针对实时数据进行流式计算的组件

      5. 还有 Spark MLlib 和 Spark Graphx 分别是机器学习算法库 、面向图计算提供的框架与算法库

    选择 Spark  还是选 Hadoop(MR)???

      · Spark在MR的基础上,进行了计算过程的优化,利用其RDD计算模型(适合并行计算和重复使用)

      · Hadoop基于磁盘进行数据通信,而Spark多个作业之间的通信是基于内存

      · Spark Task 启动时间快,采用的是fork线程的方式;而Hadoop采用创建新的进程的方式

      · Spark只有在shuffle 的时候将数据写到磁盘(进行磁盘IO),而Hadoop多个MR之间的胡数据交互都要依赖于磁盘交互

      · Spark 的缓存机制 比 HDFS的缓存机制 更为高效(Spark中的 cache & checkpoint)

    由于Spark基于内存, 所以在实际环境中, 会受内存限制

    Spark 相比于 MR更有优势 但是不能完全替代 MR

  • 相关阅读:
    实时日历
    添加与删除
    php 变量 循环关键词以及方法
    php中各种操作字符串和时间戳的代码关键词
    php中数组相关
    php中普通方法和静态方法的区别以及抽象类和接口
    php设计模式 工厂模式和单例
    面对对象7大原则整理
    PHP中include与require的特点和区别说明
    php基础运算符语句
  • 原文地址:https://www.cnblogs.com/joey-413/p/14085970.html
Copyright © 2011-2022 走看看