Spark-RDD的依赖

RDD的依赖

rdd之间是有依赖关系

  • 窄依赖
    • 每个父RDD的一个Partition最多被子RDD的一个Partition所使用
    • 父rdd和子rdd的分区是一对一
      • map
      • flatMap
      • fliter
  • 宽依赖
    • 父RDD的Partition会被多个子RDD的Partition所使用
    • 父rdd和子rdd的分区是一对多
      • grouBy()
      • grouByKey()
      • sortBy()
      • sortByKey()
      • reduceBykey()
      • distinct()

rdd1 --> rdd2 -->rdd3

  • Spark中有DAG管理依赖关系

    • DAG叫做有向无环图,是一个图计算算法。
    • 管理rdd依赖关系,保证rdd按照依赖关系进行数据的顺序计算
    • 会根据rdd的依赖关系将计算过程分成多个计算步骤,每个计算步骤称为一个stage
    • 在计算的rdd依赖关系中,一旦发生了宽依赖,就会进行步骤拆分
  • 日志查看依赖关系和计算流程

    服务启动: /export/server/spark/sbin/start-history-server.sh

    程序运行期间查看 4040端口 交互式开发

    程序运行结束后查看 18080端口

    • APP 是计算应用程序
      • job 计算任务 (执行算子 触发计算任务)
        • DAG 管理依赖关系
          • stage 计算步骤的划分
            • task线程 完成该步骤下方法计算

相关推荐

  1. Spark-RDD依赖

    2024-01-16 11:12:05       55 阅读
  2. <span style='color:red;'>Spark</span> <span style='color:red;'>RDD</span>

    Spark RDD

    2024-01-16 11:12:05      26 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-16 11:12:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-16 11:12:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-16 11:12:05       82 阅读
  4. Python语言-面向对象

    2024-01-16 11:12:05       91 阅读

热门阅读

  1. 安装 Git

    2024-01-16 11:12:05       53 阅读
  2. Unity3D 服务器逻辑和传输如何分层/解耦详解

    2024-01-16 11:12:05       60 阅读
  3. Wargames与bash知识18

    2024-01-16 11:12:05       40 阅读
  4. 数据服务:解锁数据价值的关键

    2024-01-16 11:12:05       52 阅读
  5. P3741 honoka的键盘题解

    2024-01-16 11:12:05       50 阅读