spark2.2.0源码阅读---spark core包 --- network

1、本文目标以及其它说明:

    本文主要是介绍network包下面的类

2、network包下面的数据结构说明

   
trait BlockDataManager { //主要干3件事情 1 、通过blockid将块存储在本地 2、通过blockid将块从本地取
出来。3、释放1/2步获取的锁

private[spark]
abstract class BlockTransferService extends ShuffleClient with Closeable with Logging {
   上一个是存储、拉取的是本地的,这个是用来存储和拉取远端的数据,而且有同步异步之分。

   

class NettyBlockRpcServer(
    appId: String,
    serializer: Serializer,
    blockManager: BlockDataManager)
  extends RpcHandler with Logging {  服务器,用来存储远端发来的block,发送远端请求的block和上面
第二个接口相对应。

private[spark] class NettyBlockTransferService(
    conf: SparkConf,
    securityManager: SecurityManager,
    bindAddress: String,
    override val hostName: String,
    _port: Int,
    numCores: Int)
  extends BlockTransferService {
向远端抓取或者上传block的具体netty实现。

你可能感兴趣的:(spark源码)