Spark概述(入门必看)

Spark系列 的文章将对Spark技术进行一个梳理和总结,在介绍知识点时尽可能地以通俗易懂的方式来展开,希望能够给正要学习Spark的小伙伴们在理解上带来帮助。

本篇学习目标

  • 初步认识Spark

背景

Spark作为一个用来快速实现大规模数据计算的通用分布式大数据计算引擎,是大数据开发工程师必备的一项技术栈。Spark相对Hadoop具有较大优势,但Spark并不能完全替代Hadoop。实际上,Spark已经很好地融入了Hadoop家族,作为其中一员,主要用于替代Hadoop中的MapReduce计算模型。

Spark的优势

Spark拥有Hadoop MapReduce所具备的优点,但不同的是,Hadoop每次经过job执行的中间结果都会存储在HDFS上,而Spark执行job的中间过程数据可以直接保存在内存中,无需读写到HDFS磁盘上。因为内存的读写速度与磁盘的读写速度不在一个数量级上,所以Spark利用内存中的数据可以更快地完成数据的计算处理。

此外,由于Spark在内部使用了弹性分布式数据集(Resilient Distributed Dataset,RDD),经过了数据模型的优化,即便在磁盘上进行分布式计算,其计算性能也是高于Hadoop MapReduce的。

Spark的特点

  • 计算速度快
    Spark将处理的每个任务都构造出一个有向无环图(Directed Acyclic Graph,DAG)来执行,实现原理是基于RDD在内存中对数据进行迭代计算的,因此计算速度很快。官方数据表明,如果计算数据是从磁盘中读取,Spark计算速度是Hadoop的10倍以上;如果计算数据是从内存中读取,Spark计算速度则是Hadoop的100倍以上。
  • 易于使用
    Spark提供了80多个高级运算操作,支持丰富的算子。开发人员只需调用Spark封装好的API来实现即可,无需关注Spark的底层架构。
  • 通用大数据框架
    大数据处理的传统方案需要维护多个平台,比如,离线任务是放在Hadoop MapRedue上运行,实时流计算任务是放在Storm上运行。而Spark则提供了一站式整体解决方案,可以将即时查询、离线计算、实时流计算等多种开发库无缝组合使用。
  • 支持多种资源管理器
    Spark支持多种运行模式,比如Local、Standalone、YARN、Mesos、AWS等部署模式。用户可以根据现有的大数据平台灵活地选择运行模式。
  • Spark生态圈丰富
    Spark不仅支持多种资源管理器调度job,也支持HDFS、HBase等多种持久化层读取数据,来完成基于不同组件实现的应用程序计算。目前,Spark生态圈已经从大数据计算和数据挖掘扩展到机器学习、NLP、语音识别等领域。

以上是本期分享,如有帮助请大家记得 点赞+关注+在看 支持下哦~
下期讲解Spark的模块组成。

前期回顾
1 - Spark 概述(入门必看)

在这里插入图片描述

你可能感兴趣的:(Spark概述(入门必看))