Spark——分布式并行计算概念

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lhc2207221755/article/details/52264030


一,概念


   一个资源密集型的任务,需要一组资源并行的完成,当计算机任务过重,就把计算任务拆分,然后放到多个计算节点上同时执行,这就是分布式并行计算啦。分布式并行计算,强调用硬件的堆叠,来解决问题。

   spark解决的问题:有了spark,只要把数据和程序交给spark,它会机智地进行数据切分、算法复制、分布执行、结果合并。spark屏蔽了分布并行计算的细节,让我们可以快速开发分布并行的应用。



二,基于数据集的计算框架



   spark的计算范式是数据集上的计算,在实用spark的时候,要按照spark的范式写算法。Spark在数据集的层次上进行分布并行计算,它只认成堆的数据。

    提交给spark的任务,都必须满足两个条件:
    
  1. 数据是可以分块的,每块构成一个集合。
  2. 算法只能在集合级别执行操作。


     比如,对于文本文件,在Spark中,一行就是一条记录,若干条记录组成一个集合。我们 原来的算法直接在每一行上进行计算,就不行了。需要先构建数据集,然后通过数据集的操作, 实现我们的目的


     所以,Spark是一种粗粒度、基于数据集的并行计算框架。


三,Spark基本概念及拆分任务的流程


  1,将数据载入并构造数据集,在spark中,这个数据集被称为RDD(弹性分布数据集)。
  2,对数据集进行map操作,指定行为
  3,对map中的数据集进行collect操作,并获得合并的结果。






展开阅读全文

没有更多推荐了,返回首页