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,则进行多次。

程序架构

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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.1、 分配更多资源 1.1.1、分配哪些资源? Executor的数量 每个Executor所能分配的CPU数...
    miss幸运阅读 8,378评论 3 15
  • 1、 性能调优 1.1、 分配更多资源 1.1.1、分配哪些资源? Executor的数量 每个Executor所...
    Frank_8942阅读 10,096评论 2 36
  • Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AM...
    大佛爱读书阅读 7,808评论 0 20
  • spark-submit的时候如何引入外部jar包 在通过spark-submit提交任务时,可以通过添加配置参数...
    博弈史密斯阅读 7,819评论 1 14
  • Zookeeper用于集群主备切换。 YARN让集群具备更好的扩展性。 Spark没有存储能力。 Spark的Ma...
    Yobhel阅读 12,069评论 0 34