zoukankan      html  css  js  c++  java
  • spark原理和spark与mapreduce的最大区别

    参考文档:https://files.cnblogs.com/files/han-guang-xue/spark1.pdf

    参考网址:https://www.cnblogs.com/wangrd/p/6232826.html

    对于spark个人理解:

      spark与mapreduce最大不同之处:spark是可以将某个特定的且反复使用的数据集的迭代算法高效运行,mapreduce处理数据需要与其他节点的或是框架保持高度并行,无法实现这样的效果

     摘自:sanqima

      Spark中最核心的概念是RDD(弹性分布式数据集),近年来,随着数据量的不断增长,分布式集群并行计算(如MapReduce、Dryad等)被广泛运用于处理日益增长的数据。这些设计优秀的计算模型大都具有容错性好、可扩展性强、负载平衡、编程方法简单等优点,从而使得它们受到众多企业的青睐,被大多数用户用来进行大规模数据的处理。
      但是,MapReduce这些并行计算大都是基于非循环的数据流模型,也就是说,一次数据过程包含从共享文件系统读取数据、进行计算、完成计算、写入计算结果到共享存储中,在计算过程中,不同计算节点之间保持高度并行,这样的数据流模型使得那些需要反复使用一个特定数据集的迭代算法无法高效地运行
      Spark和Spark使用的RDD就是为了解决这种问题而开发出来的,Spark使用了一种特殊设计的数据结构,称为RDD。RDD的一个重要特征是,分布式数据集可以在不同的并行环境当中被重复使用,这个特性将Spark和其他并行数据流模型框架(如MapReduce)区别开。

    具体实现:

  • 相关阅读:
    常用模块(一)
    面向对象进阶:反射以及内置方法
    面向对象三大特性之多态、封装与装饰器
    面向对象的三大特性之继承
    python之面向对象
    python之内置函数
    python之迭代器,生成器以及列表推导式
    比较好用的linux命令
    使用redission实现分布式信号量以及遇到的一些坑
    linux一些命令
  • 原文地址:https://www.cnblogs.com/han-guang-xue/p/10036225.html
Copyright © 2011-2022 走看看