Spark系列 01 -- Hadoop “回顾” Spark简介 Spark 计算模型

Hadoop “回顾”

文章目录

  • Hadoop “回顾”
    • Hadoop “回顾”
    • Spark简介
      • 1.1 概念
      • 1.2 Spark的特点
      • 1.3 DAG有向无环图
    • Spark的计算模型
      • 2.1.1 计算模型
      • 2.1.2 运行架构
      • 2.1.3 计算引擎
      • 2.2 Spark的基本计算单元
        • RDD
        • 依赖关系

Hadoop “回顾”

Hadoop 分布式基础架构

  1. mapReduce 处理大数据分析

  2. HDFS 存储分布式节点的文件

  3. Hive 转换数据库表 提供SQL

    并非数据库,只是转换为数据库表

    在其转换为数据库表后,使用MapReduce进行数据分析

  4. Hbase NoSQL类型的数据库,支持随机读写

  5. yarn 资源管理器

Spark简介

目标知识点 记忆 理解 应用 分析 评价 创新
Spark 计算模型 O
Spark 与 MapReduce O O
Spark 生态系统 O O
Spark 应用案例 O

1.1 概念

  1. Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎,基于MapReduce开发,由于数据读取基于内存而非磁盘,从而不需要读写HDFS,所以速度会高于MapReduce的,更适用于机器学习和数据挖掘等需要迭代的MapReduce的算法(迭代会导致反复读写)
  2. Spark是使用Scala语言实现的,这是一种面向对象,函数式编程语言,能够像操作本地集合对象一样轻松的操作分布式数据集,并提供一个全名的Actor的并行模型
  3. Spark可以运行于Hadoop集群中,可以使用多种数据源

1.2 Spark的特点

  1. 运行速度块

    拥有DAG( Directed Acyclic Graph 有向无环图)执行引擎,比hadoop的MapReduce内存运算快100倍,硬盘运算快10倍以上

  2. 易用性好

  3. 通用性强

    Spark生态圈BDAS包含了丰富的组件,提供一站式解决平台

  4. 随处运行

    具有很强的适应性,可以使用多种资源管理器来调度Job,可以访问多种数据源

1.3 DAG有向无环图

Spark系列 01 -- Hadoop “回顾” Spark简介 Spark 计算模型_第1张图片

Spark系列 01 -- Hadoop “回顾” Spark简介 Spark 计算模型_第2张图片

Spark的计算模型

2.1.1 计算模型

基于Spark的程序,包含了一个Driver Programi和集群中多个Executor。由Cluster Manager将执行单元Task送到Executor.上执行,每个Job会被拆成多组Task,每组任务称为Stage。Spark的基本计算单元是RDD。

Spark系列 01 -- Hadoop “回顾” Spark简介 Spark 计算模型_第3张图片

2.1.2 运行架构

Spark系列 01 -- Hadoop “回顾” Spark简介 Spark 计算模型_第4张图片

2.1.3 计算引擎

Spark系列 01 -- Hadoop “回顾” Spark简介 Spark 计算模型_第5张图片

2.2 Spark的基本计算单元

RDD

RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变可分区、里面的元素可并行计算的集合。RDD具有数据流模型的特点:自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显式地将工作集缓存在内存中,后续的查询能够重用工作集,这极大地提升查询速度。
Spark系列 01 -- Hadoop “回顾” Spark简介 Spark 计算模型_第6张图片

弹性分布式数据集(RDD)是spak最基本的编程抽象,而且是只读,可分区的,可以进行并行计算的对象。
数据集:

  • 是一个数据集合,用于存放数据的。RDD是一个数据容器,用来组织管理数据的。跟Ary和List类似,并且都能够进行map、flatMap、filter等操作。

分布式:

  • RDD中的数据是分布式存储的,可用于分布式计算,RDD的数据是分布存储的,也就是Spak集群中每个节点上只存储了RDD的部分数据,计算同样也是分布式并行计算的。

弹性:

  • 存储的弹性:RDD的数据可以在内存和磁盘之间进行自由切换。

  • 可靠性的弹性:RDD的在丢失数据时能够自动恢复,RDD在计算过程中会出现失败的情况,失败以后会进行一定次数的重试(4次)。

  • 并行度的弹性:RDD的数据分区可以改变,进而增加并行计算的粒度。

依赖关系

RDD之间有两种不同类型的依赖关系:窄依赖和宽依赖。

Spark系列 01 -- Hadoop “回顾” Spark简介 Spark 计算模型_第7张图片

你可能感兴趣的:(大数据,Hadoop,hadoop,spark,大数据)