🔔

BigData10:Spark

Created
Nov 1, 2021 02:36 PM
Describe
Link
Tags
Spark
  • Spark只需一次磁盘读写,大部分处理在内存中进行。
  • 比Hadoop快100倍

一、Spark框架

notion image

1.1 运行架构

  • Client
  • Driver
  • EXecutor
  • DAG(Directe Acyclic Graph)有向无环图
 

1.2 启动模式

  • local单机模式
  • local-cluster单机伪分布式模式
  • Srandalone集群模式
  • Spark on Yarn集群模式
    • Yarn-Client
    • Yarn-Cluster

1.3 Yarn-Cluster运行模式

notion image

二 Spark运行架构本质

  • SparkContent
  • ClusterManager
  • Executor
notion image

2.1 运行过程

notion image
 

三 RDD

  • 弹性分布数据集(Resilient Distributed Dataset)RDD
  • RDD操作分为transformations和actions
    • Transformations :RDD —>RDD
    • Actions :RDD —>Result
notion image
 

四 Spark专业术语

  • Job
  • Stage
  • TaskSet
  • Task
 

五 RDD依赖关系

5.1、窄依赖(Narrow Dependency)

  • 一个父RDD的一个Partition被子RDD的一个Partition使用
    • notion image

5.2、宽依赖(Shuffle Dependency)

  • 一个父RDD的Partition被多个子RDD的Partition使用
notion image

5.3 窄依赖 VS 宽依赖

  • 窄依赖和宽依赖影响DAG图的划分
  • 每个Stage内部是窄依赖
  • Stage之间是宽依赖
 
 

六 Shuffle

  • Shuffle阶段设计磁盘IO、网络传输、内存使用等多种资源调用,执行效率影响整个作业的执行效率,大部分优化也是针对Shuffle阶段进行的。
  • Spark作业Map阶段的Shuffle称为Shuffle Write,Reduce阶段Shuffle称为Shuffle Read

6.1、Shuffle Write实现

  • 6.1.1、基于Hash实现
notion image
notion image
  • 优缺点
    • 实现简单,小数量级别数据处理操作方便
    • 产生小文件过多,内存利用效率低。大量随机读写造成磁盘IO性能下降
    • 0.8版本以后就不使用了
 
  • 6.1.2、基于Sort实现
notion image
  • 优缺点
    • 优点:顺序读写大幅度提高磁盘IO性能,不会产生过多小文件降低文件缓存占用内存空间大小,提高内存使用效率
    • 缺点:多了一次粗粒度排序