Spark基础简介

在准备找工作之际,在下准备将之前项目中部分知识再复习加固一遍。。。


Spark是什么

  • Spark是一个用来实现快速通用集群计算平台。
    (集群计算:把一台电脑无法解决的问题,放到多台电脑组成的集群上解决)
  • Spark的一个主要特点就是能够在内存中进行运算,因此,Spark在计算速度上有很大的优势。处理大规模数据集是,速度是非常重要的,Spark在迭代处理计算上,比hadoop快100倍。即使时必须在磁盘上进行的复杂计算,Spark依然比MapReduce更加高效。
  • 总的来说,Spark适用于各种原先需要多种不同的分布式平台的场景,包括批处理、迭代算法、交互式查询、流处理。
Spark为什么比mapreduce快?

1)基于内存计算,减少低效的磁盘交互;
2)高效的调度算法,基于DAG;
3)容错机制Linage。
(精华部分就是DAG和Lingae)

一个一统的软件栈

  • Spark 项目包含多个紧密集成的组件。
  • Spark 的核心是一个对由很多计算任务组成的、运行在多个工作机器或者是一个计算集群上的应用进行调度、分发以及监控的计算引擎。
  • 由于Spark 的核心引擎有着速度快和通用的特点,因此Spark 还支持为各种不同应用场景专门设计的高级组件,比如SQL 和机器学习等。这些组件关系密切并且可以相互调用,这样你就可以像在平常软件项目中使用程序库那样,组合使用这些的组件。
    Spark 软件栈

Spark适用场景

Spark是基于内存的迭代计算框架,适用于需要多次操作特定数据集的应用场合。需要反复操作的次数越多,所需读取的数据量越大,受益越大,数据量小但是计算密集度较大的场合,受益就相对较小

由于RDD的特性,Spark不适用那种异步细粒度更新状态的应用,例如web服务的存储或者是增量的web爬虫和索引。就是对于那种增量修改的应用模型不适合。

总的来说Spark的适用面比较广泛且比较通用。

阅读更多
想对作者说点什么?

博主推荐

换一批

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