自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

铁扇纶巾

灰飞烟灭

  • 博客(15)
  • 收藏
  • 关注

原创 sparkEnv——spark的执行环境

sparkEnv——spark的执行环境securityManager主要对帐号、权限以及身份认证进行设置和管理rpcEnvRpcEndpoint 的运行环境,管理 RpcEndpoint 的整个生命周期SerializerManager为spark提供序列化、压缩和加密的管理器BroadcastManager负责Broadcast的创建和销毁...

2019-11-18 22:32:42 259

原创 Dispatcher

Dispatcher 分发器Dispatcher在spark中的任务主要是,在rpcenv中注册或注销rpcendpoint,分发message到rpcendpoint中。代码清单endpoints存放的是Endpoint的名字与EndpointData的映射endpointRefs存放的是Endpoint与RpcEndpointRef的映射receivers是存放消息收件人的列表 ...

2019-11-11 17:04:52 236

原创 UnifiedMemoryManager

UnifiedMemoryManager 动态存储管理器UnifiedMemoryManager 动态存储管理器是MemoryManager存储管理器的子类它动态的管理执行内存和存储内存的大小,以便执行内存和存储内存可以在自身内存不够使用时占用对方的内存先获取执行内存和存储内存的占用内存maxMemory大小,并默认执行内存和存储内存各占总内存的50%,不过可以通过配置参数spark.me...

2019-11-04 17:17:15 177

原创 StaticMemoryManager

StaticMemoryManager 静态存储管理器StaticMemoryManager 静态存储管理器是MemoryManager存储管理器的子类,它初始化时就为存储空间、UnrollMemory和执行空间划分了大小后便不在变化。代码清单堆内的存储空间,大小为onHeapStorageMemory=systemMaxMemory * memoryFraction * safety...

2019-11-03 16:51:32 144

原创 MemoryManager

静态存储管理器代码清单为堆内外的存储和执行创建内存池 @GuardedBy("this") protected val onHeapStorageMemoryPool = new StorageMemoryPool(this, MemoryMode.ON_HEAP) @GuardedBy("this") protected val offHeapStorageMemoryPoo...

2019-11-03 15:33:07 728

原创 MapOutputTrackerMaster

MapOutputTrackerMaster diver的map任务输出跟踪器源码清单和我的理解注释将shuffle 输出状态的序列化后缓存下来,并在后续操作中更新cacheEpoch 记录缓存中shuffle 输出状态的编号,epoch记录当前shuffle 输出状态的编号,每处理完一个shuffle ,epoch+1 /** Cache a serialized version of ...

2019-11-02 12:16:39 419

原创 MapOutputTracker

# MapOutputTracker map任务输出跟踪器源码清单和我的理解注释初始化变量/** Set to the MapOutputTrackerMasterEndpoint living on the driver. *///创建RpcEndpoint的引用,RpcEndpoint是rpc的一个端点,在收到特定消息会触发特定的函数 var trackerEndpoint: Rp...

2019-11-01 15:18:18 303

原创 TorrentBroadcast

TorrentBroadcastTorrentBroadcast继承了Broadcast,是Broadcast的一个子类,实现了Broadcast中的getValue()、doUnpersist()、doDestroy()方法diver会将序列化的对象按照指定大小默认为4mb,切分为块后保存到BlockManager。当excutor运行时,若需要的块不在本地的BlockManager中时,会...

2019-10-30 21:33:09 245

原创 Broadcast

Broadcast 广播Broadcast 可以将数据广播到每个节点上,这样节点需要使用该数据是无需发送请求,大大提升了效率。Broadcast 提供了接口,具体的方法在子类中实现,如子类TorrentBroadcast。源码清单和我的理解注释ListenerBus源码中第一行,创建了一个线程安全的ArrayList——CopyOnWriteArrayList,之后添加、者删除事件等操作...

2019-10-30 13:53:48 309

原创 BroadcastManager

BroadcastManager 广播管理器BroadcastManager 负责Broadcast的创建和销毁Broadcast为广播变量,官方解释是广播变量允许程序员保留只读变量缓存在每台计算机上,而不是将其副本与任务一起发送。例如它们可以用来,以高效的方式为每个节点提供一个大型输入数据集的副本。在spark运行时若excutor需要外部变量,可以将变量广播到excutor中。源码清单...

2019-10-29 22:12:32 1117

原创 serializerManager

serializerManager 序列化管理器serializerManager 是为spark提供序列化、压缩和加密的管理器源码清单和我的理解注释创建KryoSerializer的序列化对象KryoSerializer是在序列化速度和序列化结果都优于javaSerializer的序列化方式private[this] val kryoSerializer = new KryoSeria...

2019-10-29 20:50:57 230

原创 SecurityManager

SecurityManager 安全管理器在初始化SparkContext是会创建SparkEnv,而创建SparkEnv时会创建SecurityManager在默认情况下spark安全性处于关闭状态,这当然时不可取的,所以创建SecurityManager来保证spark的安全源码清单和我的理解注释创建初始变量// allow all users/groups to have vie...

2019-10-28 22:27:02 521

原创 LiveListenerBus

LiveListenerBusLiveListenerBus继承了SparkListenerBus,而SparkListenerBus继承了ListenerBus。LiveListenerBus会维护存放监听器的线程安全的CopyOnWriteArrayList,并对CopyOnWriteArrayList做增删改查的操作。LiveListenerBus使用了消费者和生产者的思想,使用了信号...

2019-10-27 15:31:12 158

原创 SparkListenerBus

SparkListenerBusSparkListenerBus继承了ListenerBus,并实现了doPostEvent()函数。源码清单和我的理解注释SparkListenerInterface、SparkListenerEvent中定义了不同事件以及相对应的处理方法。private[spark] trait SparkListenerBus extends ListenerBu...

2019-10-26 16:49:44 133

原创 ListenerBus 事件总线

ListenerBus 事件总线ListenerBus可以接收事件并将事件送到对应的事件监听器源码清单和我的理解注释ListenerBus源码中第一行,创建了一个线程安全的ArrayList——CopyOnWriteArrayList,之后添加、者删除事件等操作都在这个线程安全的ArrayList中执行private[spark] val listeners = new CopyOnWr...

2019-10-26 15:58:52 287

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除