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线程 完成该步骤下方法计算
相关推荐
TDengine (老段)3 小时前
TDengine 中的关联查询
大数据·javascript·网络·物联网·时序数据库·tdengine·iotdb
直裾8 小时前
Mapreduce的使用
大数据·数据库·mapreduce
低头不见10 小时前
一个服务器算分布式吗,分布式需要几个服务器
运维·服务器·分布式
麻芝汤圆10 小时前
使用 MapReduce 进行高效数据清洗:从理论到实践
大数据·linux·服务器·网络·数据库·windows·mapreduce
树莓集团10 小时前
树莓集团海南落子:自贸港布局的底层逻辑
大数据
不剪发的Tony老师10 小时前
Hue:一个大数据查询工具
大数据
靠近彗星10 小时前
如何检查 HBase Master 是否已完成初始化?| 详细排查指南
大数据·数据库·分布式·hbase
墨染丶eye11 小时前
数据仓库项目启动与管理
大数据·数据仓库·spark
SelectDB11 小时前
Apache Doris 2025 Roadmap:构建 GenAI 时代实时高效统一的数据底座
大数据·数据库·aigc
遇到困难睡大觉哈哈12 小时前
Git推送错误解决方案:`rejected -> master (fetch first)`
大数据·git·elasticsearch