(四)Spark源码理解之BlockManager---part4

本文深入探讨Spark的BlockManager组件,尤其是ConnectionManager类在executor之间的数据传输作用。ConnectionManager通过建立连接通道,利用选择器、套接字和连接ID实现executor间的数据读写。同时,BlockManager的MemoryStore、DiskStore和TachyonStore以不同的方式存储数据,通过putValues()、tryToPut()和getValues()方法管理数据存储。
摘要由CSDN通过智能技术生成

3.1 ConnectionManager

BlockManager还创建了ConnectionManager类,ConnectionManager类由端口,SparkConf,以及SecurityManager构成,它涉及到了几个重要的数据结构或者说类

ConnectionManagerId:由主机host和端口port构成;

ConnectionId:由ConnectionManagerId,唯一是被connection的Id号构成;

SendingConnection:由套接字地址,选择器连接;

Connection:由套接字通道,选择器,ConnectionManagerId,ConnectionId构成;

个人认为ConnectionManager的作用就在于连接从节点上的executor,然后在executor间进行数据传输以及读写,大致思路如下:

选择器--->从节点之间(更具体点说应该是executor)的通道---->选择键(SelectionKey)----->发送连接(SendingConnection)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值