ReceiverTracker怎么实现

介绍

本篇内容主要讲解“ReceiverTracker怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ReceiverTracker怎么实现”吧!

ReceiverTacker类如下,从源码注释可以看出该类的作用。

,,,,管理ReceiverInputDStreams的执行,记录接收机发来的元数据信息.ReceiverTacker类构造时必须传入StreamingContext对象。

 ReceiverTracker怎么实现

,,,, ReceiverTacker类内部有ReceiverTackerEndpoint这个消息通信体,用于和运行在遗嘱执行人端的ReceiverSupervisorImpl进行通信,包括接收机的注册,重启接收器,清除之前的块数据,更新限流值,添加块元数据信息等消息。

 ReceiverTracker怎么实现

,,,,接下来以接收到来自执行人端的ReceiverSupervisorImpl发来添加元数据信息的AddBlock消息,进行讲解具体的处理流程。

 ReceiverTracker怎么实现

 ReceiverTracker怎么实现”>,,,,,</p> <p> ReceivedBlockInfo类包含了StreamID,块中记录条数,元数据的元数据,接收块的存储结果(BlockID和记录数量)</p> <p> <img src=

ReceiverBlockTracker类是addBlock方法的具体实现。

 ReceiverTracker怎么实现

,,,,,,,, 1。调用ReceiverBlockTracker的writeToLog方法

 ReceiverTracker怎么实现

,,,,,,,, 2。调用ReceiverBlockTracker的getReceivedBlockQueue方法,其中streamIdToUnallocatedBlockQueues为HashMap,关键为StreamID,值为ReceivedBlockQueue。而ReceivedBlockQueue的定义为私人ReceivedBlockQueue=可变的类型。队列(ReceivedBlockInfo)

 ReceiverTracker怎么实现

,,,,,,,, ReceiverBlockTracker类,可以从源码中看的出,他会记录所有接收到的块信息,根据需要把块分配给批。如果设置了检查站,开启细胞膜,则会把所有的操作保存到预写日志中,因此当司机失败后就可以从检查站和细胞膜中恢复ReceiverTracker的状态。

 ReceiverTracker怎么实现

,,,,,,,, ReceiverBlockTracker类中重要的方法,allocateBlocksToBatch.private val timeToAllocatedBlocks=新的可变。HashMap(时间,AllocatedBlocks)存储批处理时刻,分配到的模块数据。

 ReceiverTracker怎么实现

,,,,,,,,该方法是被ReceiverTracker调用的。

 ReceiverTracker怎么实现

,,,,,,,,而ReceiverTracker的allocateBlocksToBatch方法是被JobGenerator的generateJobs方法调用的。

 ReceiverTracker怎么实现”>,,,,,,,,</p> <p> ReceiverBlockTracker类中重要的方法,getBlocksOfBatch。</p> <p> <img src=

到此,相信大家对“ReceiverTracker怎么实现”有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

ReceiverTracker怎么实现