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的基本操作:

  • 相关阅读:
    数据结构-顺序表
    数据结构-概论
    社交网络图中结点的“重要性”计算 (30 分) C++解法
    面向对象程序设计--Java语言第二周编程题:有秒计时的数字时钟
    面向对象程序设计--Java语言第三周编程题:查找里程
    面向对象程序设计--Java语言第一周编程题:分数
    剑指Offer_#42_连续子数组的最大和
    vue--模态框背景不动解决方案
    redis(十七):Redis 安装,部署(WINDOWS环境下)
    redis(二十一):Redis 架构模式实现(哨兵)
  • 原文地址:https://www.cnblogs.com/cellphone7/p/10072183.html
Copyright © 2011-2022 走看看