目录
  1. 1. Spark
    1. 1.1. 概念
      1. 1.1.1. MapReduce的缺点
      2. 1.1.2. Spark特点
      3. 1.1.3. Spark缺点
      4. 1.1.4. Spark核心
    2. 1.2. 体系架构
      1. 1.2.1. 主节点 cluster manager
      2. 1.2.2. 从节点 worker
      3. 1.2.3. 客户端 Driver Program
      4. 1.2.4. 单点故障
      5. 1.2.5. HA(高可用)
    3. 1.3. Spark算子(函数)
    4. 1.4. SparkSql
Spark相关

Spark

概念

替代MapReduce的计算模型

MapReduce的缺点

shuffle 的IO操作
(但在hadoop3.0 有极大的优化, 不再单纯的依赖IO基于内存)

Spark特点

快: 基于内存
易用性
通用型: 流式处理 spark sql
兼容性

Spark缺点

没有对内存进行管理,内存的管理交给应用程序(容易出现OOM)

Spark核心

SparkCore: 内核 相当于MapReduce
RDD: 弹性分布式数据集 由分区组成
SparkSQL: 相当于Hive 将sql/DSL 转化为spark任务 对RDD操作的任务 提交到Spark集群中运行处理
SparkStreaming: 相当于Storm 流式计算引擎,本质把连续的数据,把他转化成不连续的数据(DStream 离散流 本质RDD)

体系架构

https://spark.apache.org/docs/latest/cluster-overview.html
主从架构

主节点 cluster manager

职责 相当于YARN中的ResourceManager

  1. 管理调度集群的资源和任务
  2. 接受客户端的任务请求
  3. 部署方式: standalone(master节点), yarn, mesos

部署方式:
standalone(这种方式下称为master)
yarn
mesos

从节点 worker

任务执行者
从节点上资源和任务的管理者
Executor 线程形式

worker默认行为

  1. 占用改节点的所有资源(耗费内存的原因)

客户端 Driver Program

本质上通过创建一个sc对象来连接到Spark (sc = Spark Context)
启动的方式 spark-submit spark-shell

单点故障

HA(高可用)

  1. zookeeper
  2. 基于文件目录(本地测试可以这么玩)

Spark算子(函数)

  1. RDD(类)
  2. RDD的算子
    transformation 不会触发计算
    action 触发计算
  3. RDD特性
    RDD缓存
    RDD容错机制
    RDD依赖关系

SparkSql

默认文件parquet文件 列式存储文件

文章作者: sovwcwsfm
文章链接: http://sovwcwsfm.com/blog/page/spark.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 _L