zoukankan      html  css  js  c++  java
  • Spark

    10:Spark

    Spark:基于内存的实时数据分析框架

    Spark的特点:

    Spark和Hadoop的对比:

    Hadoop的缺点:

    1.表达能力有限

    2.磁盘IO开销大

    3.延迟高,任务之间的衔接涉及IO开销

    4.在前一个任务执行完成之前,其他任务无法开始,难以胜任复杂、多阶段的计算任务

    Spark的优点:

    1.编程模型更灵活

    2.提供内存运算,迭代运算效率更高

    3.基于DAG的任务调度执行机制

    (Hadoop的Tez框架也实现了DAG任务调度,但Hadoop本身并没有实现)

    Spark的生态系统:(可以同时支持批处理、交互式查询和流数据处理)

    Spark生态系统组件的应用场景:

    10.3.1基本概念和架构设计

    (注意:多组task不是一个task)

    Spark采用Executor所具有的优点:

    1.利用多线程来执行具体的任务,减少任务的启动开销

    2.Executor中有一个BlockManager存储模块,会将内存和磁盘共同作为存储设备,有效减少IO开销

     Spark中的概念:

    相互关系:

    Spark的运行流程图:

    Spark运行架构的特点:

    10.3.3:Spark中的RDD

    RDD:一种抽象的数据结构。不同的RDD之间的转换操作形成依赖关系,可以实现管道化,避免中间数据存储

    RDD的特点:

    RDD的典型执行过程:

    RDD实现Spark高效计算的原因:

    1.RDD具有高效的容错性

    现有容错机制:数据复制/记录日志

    RDD具有天生的容错性

    2.中间结果持久化到内存,数据在内存中的多个RDD操作之间进行传递避免了不必要的读写磁盘开销

    3.存放的数据可以是JAVA对象,避免了不必要的对象序列化和反序列化

    10.3.5:RDD的依赖关系和运行过程

    依赖关系:宽依赖、窄依赖

    窄依赖:

    宽依赖:

      

    stage的划分:(RDD之间的依赖关系形成一个DAG,由sparkcontext负责生成)

    例子:

    stage包含的类型:shuffleMapStage、ResultStage

     

    Spark的部署:

        

    采用Hadoop+Spark的方式:

    不同的计算框架同意运行在YARN中:

    1.计算资源可以按需伸缩

    2.不用负载应用混搭,集群利用率高

    3.共享底层存储,避免数据跨集群迁移

    Spark RDD的基本操作:

  • 相关阅读:
    Saltstack module apache 详解
    Saltstack module ip 详解
    Saltstack module iosconfig 详解
    Saltstack module introspect 详解
    Saltstack module inspector 详解
    Saltstack module ini 详解
    Saltstack module incron 详解
    Modbus 指令 RS485指令规则
    停车系统对接第三方在线支付平台(二)
    停车系统对接第三方在线支付平台
  • 原文地址:https://www.cnblogs.com/cellphone7/p/10072183.html
Copyright © 2011-2022 走看看