自定义博客皮肤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 主要对帐号、权限以及身份认证进行设置和管理 rpcEnv RpcEndpoint 的运行环境,管理 RpcEndpoint 的整个生命周期 SerializerManager 为spark提供序列化、压缩和加密的管理器 BroadcastManager 负责Broadcast的创建和销毁 ...

2019-11-18 22:32:42 333

原创 Dispatcher

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

2019-11-11 17:04:52 291

原创 UnifiedMemoryManager

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

2019-11-04 17:17:15 233

原创 StaticMemoryManager

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

2019-11-03 16:51:32 207

原创 MemoryManager

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

2019-11-03 15:33:07 841

原创 MapOutputTrackerMaster

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

2019-11-02 12:16:39 491

原创 MapOutputTracker

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

2019-11-01 15:18:18 407

原创 TorrentBroadcast

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

2019-10-30 21:33:09 311

原创 Broadcast

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

2019-10-30 13:53:48 354

原创 BroadcastManager

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

2019-10-29 22:12:32 1281

原创 serializerManager

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

2019-10-29 20:50:57 289

原创 SecurityManager

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

2019-10-28 22:27:02 575

原创 LiveListenerBus

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

2019-10-27 15:31:12 252

原创 SparkListenerBus

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

2019-10-26 16:49:44 177

原创 ListenerBus 事件总线

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

2019-10-26 15:58:52 333

空空如也

空空如也

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

TA关注的人

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