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

  • 相关阅读:
    g++
    Adapter
    使用 JDBC 连接MySQL 、SQL Server数据库
    Chrom Firefox 非安全端口访问
    Cent OS & Windows 双系统自定义引导菜单
    Cent OS 7 安装海峰、极点五笔输入法
    数据结构:单链表
    切记要初始化指针
    Java 连接 MySQL 数据库
    C语言 Struct 结构体在 Java 中的体现
  • 原文地址:https://www.cnblogs.com/joey-413/p/14085970.html
Copyright © 2011-2022 走看看