第38课: BlockManager架构原理、运行流程图和源码解密

本文深入探讨了Spark中的BlockManager,它是管理数据读写的关键组件,涉及分布式环境中的数据存储。BlockManager在Spark运行时扮演重要角色,尤其在Shuffle操作中。通过分析WordCount应用的运行日志,展示了BlockManager如何注册、管理内存和磁盘数据,以及与其他组件如MapOutputTracker的交互。文章通过源码分析,揭示了BlockManager的内部工作原理和生命周期,包括MemoryStore、DiskStore和DiskBlockManager的功能。
摘要由CSDN通过智能技术生成

第38课:  BlockManager架构原理、运行流程图和源码解密


BlockManager是管理整个Spark运行时数据的读写,包含数据存储本身,在数据存储的基础之上进行数据读写。由于Spark是分布式的,所有BlockManager也是分布式的,BlockManager本身相对而言是一个比较大的模块,Spark中有非常多的模块:调度模块、资源管理模块等等。BlockManager是另外一个非常重要的模块,BlockManager本身源码量非常大。本节从BlockManager原理流程对BlockManager做深刻的理解。在Shuffle读写数据的时候, 我们需要读写BlockManager。因此BlockManager是至关重要的内容。

编写一个业务代码WordCount.scala,通过观察WordCount运行时候BlockManager的日志来理解BlockManager的运行。

WordCount.scala代码如下:

1.         package com.dt.spark.sparksql

2.          

3.         import org.apache.log4j.{Level,Logger}

4.         importorg.apache.spark.SparkConf

5.         importorg.apache.spark.SparkContext

6.   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

段智华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值