2018-07-23

spark 概念

spark 特点

  • DAG引擎,减少过程写入磁盘开销
  • 内存计算引擎,支持cache机制,使得中间过程数据可以保留
  • 多线程模式,(mapreduce是批处理基于进程的,每一次计算就要开启一个jvm;而spark基于基于线程的,减少进程启动开销)
  • spark比mapreduce的优势:对于中间状态可以被捕获。

RDD(Resilience Distributed Datassets) 弹性分布式数据集

1. 操作动作

  • 创建(create)
    ​ 来源于内存集合或hdfs上文件

  • 转换(transform)
    ​ 从一个RDD到另一个RDD

  • 控制(control)
    ​ 进行RDD持久化,如chache,persist

  • 行动(action)
    ​ 输出结果行为.如保存文件/执行reduce操作.

2. RDD特点

  • 惰性执行(有action才执行)
  • 应用cache后的结果不会触发RDD.即,当存在多个action是,如果没有cache,则进行多次。

程序架构

2018-07-23_第1张图片
20180722233300.png
  • driver
    负责运行application,并创建和变比SparkContext.yarn-master模式下,driver为yarn;yarn-client模式下,driver为客户端.

  • cluster manager
    集群yarn.分为几种模式:local, standalone, yarn/mesos,

    • worker node : 类似于NodeManager
    • executer: 执行进程.用于分配任务给task,一个workerNode有多个executer
    • task: 执行线程.执行RDD任务.
    • cache:用于RDD的中间过程

其他

  • spark 环境执行优先级:
  1. spark program:set conf
  2. spark submit
  3. spark default conf
  • spark的shuffle也是要存在executer上的本地硬盘上。
  • 每个map行为成为一个job,当存在shuffle是spark必须重新分配资源.每一个阶段成为stage

你可能感兴趣的:(2018-07-23)