思维导图备注

Spark内核设计的艺术:架构设计与实现
首页 下载 收藏书籍 阅读记录
  • 书签 我的书签
  • 添加书签 添加书签 移除书签 移除书签

8.7.1 SizeTracker的实现分析

浏览 4 扫码
  • 小字体
  • 中字体
  • 大字体
2023-09-04 22:23:05
请 登录 再阅读
上一篇:
下一篇:
  • 书签
  • 添加书签 移除书签
  • 本书赞誉
  • 前言
  • 第1章 环境准备
    • 1.1 运行环境准备
      • 1.1.1 安装JDK
      • 1.1.2 安装Scala
      • 1.1.3 安装Spark
    • 1.2 Spark初体验
      • 1.2.2 执行word count
      • 1.2.3 剖析spark-shell
    • 1.3 阅读环境准备
      • 1.3.1 安装SBT
      • 1.3.2 安装Git
      • 1.3.3 安装Eclipse Scala IDE插件
    • 1.4 Spark源码编译与调试
    • 1.5 小结
  • 第2章 设计理念与基本架构
    • 2.1 初识Spark
      • 2.1.1 Hadoop MRv1的局限
      • 2.1.2 Spark的特点
      • 2.1.3 Spark使用场景
    • 2.2 Spark基础知识
    • 2.3 Spark基本设计思想
      • 2.3.1 Spark模块设计
      • 2.3.2 Spark模型设计
    • 2.4 Spark基本架构
    • 2.5 小结
  • 第3章 Spark基础设施
    • 3.1 Spark配置
      • 3.1.1 系统属性中的配置
      • 3.1.2 使用SparkConf配置的API
      • 3.1.3 克隆SparkConf配置
    • 3.2 Spark内置RPC框架
      • 3.2.1 RPC配置TransportConf
      • 3.2.2 RPC客户端工厂TransportClientFactory
      • 3.2.3 RPC服务端TransportServer
      • 3.2.4 管道初始化
      • 3.2.5 TransportChannelHandler详解
      • 3.2.6 服务端RpcHandler详解
      • 3.2.7 服务端引导程序TransportServerBootstrap
      • 3.2.8 客户端TransportClient详解
    • 3.3 事件总线
      • 3.3.1 ListenerBus的继承体系
      • 3.3.2 SparkListenerBus详解
      • 3.3.3 LiveListenerBus详解
    • 3.4 度量系统
      • 3.4.1 Source继承体系
      • 3.4.2 Sink继承体系
    • 3.5 小结
  • 第4章 SparkContext的初始化
    • 4.1 SparkContext概述
    • 4.2 创建Spark环境
    • 4.3 SparkUI的实现
      • 4.3.1 SparkUI概述
      • 4.3.2 WebUI框架体系
      • 4.3.3 创建SparkUI
    • 4.4 创建心跳接收器
    • 4.5 创建和启动调度系统
    • 4.6 初始化块管理器BlockManager
    • 4.7 启动度量系统
    • 4.8 创建事件日志监听器
    • 4.9 创建和启动ExecutorAllocationManager
    • 4.10 ContextCleaner的创建与启动
      • 4.10.2 启动ContextCleaner
    • 4.11 额外的SparkListener与启动事件总线
    • 4.12 Spark环境更新
    • 4.13 SparkContext初始化的收尾
    • 4.14 SparkContext提供的常用方法
    • 4.15 SparkContext的伴生对象
    • 4.16 小结
  • 第5章 Spark执行环境
    • 5.1 SparkEnv概述
    • 5.2 安全管理器SecurityManager
    • 5.3 RPC环境
      • 5.3.1 RPC端点RpcEndpoint
      • 5.3.2 RPC端点引用RpcEndpointRef
      • 5.3.3 创建传输上下文TransportConf
      • 5.3.4 消息调度器Dispatcher
      • 5.3.5 创建传输上下文TransportContext
      • 5.3.6 创建传输客户端工厂TransportClientFactory
      • 5.3.7 创建TransportServer
      • 5.3.8 客户端请求发送
      • 5.3.9 NettyRpcEnv中的常用方法
    • 5.4 序列化管理器SerializerManager
    • 5.5 广播管理器BroadcastManager
    • 5.6 map任务输出跟踪器
      • 5.6.1 MapOutputTracker的实现
      • 5.6.2 MapOutputTrackerMaster的实现原理
    • 5.7 构建存储体系
    • 5.8 创建度量系统
      • 5.8.1 MetricsConfig详解
      • 5.8.2 MetricsSystem中的常用方法
      • 5.8.3 启动MetricsSystem
    • 5.9 输出提交协调器
      • 5.9.1 OutputCommitCoordinatorEndpoint的实现
      • 5.9.2 OutputCommitCoordinator的实现
      • 5.9.3 OutputCommitCoordinator的工作原理
    • 5.10 创建SparkEnv
    • 5.11 小结
  • 第6章 存储体系
    • 6.1 存储体系概述
      • 6.1.1 存储体系架构
      • 6.1.2 基本概念
    • 6.2 Block信息管理器
      • 6.2.1 Block锁的基本概念
      • 6.2.2 Block锁的实现
    • 6.3 磁盘Block管理器
      • 6.3.1 本地目录结构
      • 6.3.2 DiskBlockManager提供的方法
    • 6.4 磁盘存储DiskStore
    • 6.5 内存管理器
      • 6.5.1 内存池模型
      • 6.5.2 StorageMemoryPool详解
      • 6.5.3 MemoryManager模型
      • 6.5.4 UnifiedMemoryManager详解
    • 6.6 内存存储MemoryStore
      • 6.6.1 MemoryStore的内存模型
      • 6.6.2 MemoryStore提供的方法
    • 6.7 块管理器BlockManager
      • 6.7.1 BlockManager的初始化
      • 6.7.2 BlockManager提供的方法
    • 6.8 BlockManagerMaster对BlockManager的管理
      • 6.8.1 BlockManagerMaster的职责
      • 6.8.2 BlockManagerMasterEndpoint详解
      • 6.8.3 BlockManagerSlaveEndpoint详解
    • 6.9 Block传输服务
      • 6.9.1 初始化NettyBlockTransferService
      • 6.9.2 NettyBlockRpcServer详解
      • 6.9.3 Shuffle客户端
    • 6.10 DiskBlockObjectWriter详解
    • 6.11 小结
  • 第7章 调度系统
    • 7.1 调度系统概述
    • 7.2 RDD详解
      • 7.2.1 为什么需要RDD
      • 7.2.2 RDD实现的初次分析
      • 7.2.3 RDD依赖
      • 7.2.4 分区计算器Partitioner
      • 7.2.5 RDDInfo
    • 7.3 Stage详解
      • 7.3.1 ResultStage的实现
      • 7.3.2 ShuffleMapStage的实现
      • 7.3.3 StageInfo
    • 7.4 面向DAG的调度器DAGScheduler
      • 7.4.1 JobListener与JobWaiter
      • 7.4.2 ActiveJob详解
      • 7.4.3 DAGSchedulerEventProcessLoop的简要介绍
      • 7.4.4 DAGScheduler的组成
      • 7.4.5 DAGScheduler提供的常用方法
      • 7.4.6 DAGScheduler与Job的提交
      • 7.4.7 构建Stage
      • 7.4.8 提交ResultStage
      • 7.4.9 提交还未计算的Task
      • 7.4.10 DAGScheduler的调度流程
      • 7.4.11 Task执行结果的处理
    • 7.5 调度池Pool
      • 7.5.1 调度算法
      • 7.5.2 Pool的实现
      • 7.5.3 调度池构建器
    • 7.6 任务集合管理器TaskSetManager
      • 7.6.1 Task集合
      • 7.6.2 TaskSetManager的成员属性
      • 7.6.3 调度池与推断执行
      • 7.6.4 Task本地性
      • 7.6.5 TaskSetManager的常用方法
    • 7.7 运行器后端接口LauncherBackend
      • 7.7.1 BackendConnection的实现
      • 7.7.2 LauncherBackend的实现
    • 7.8 调度后端接口SchedulerBackend
      • 7.8.1 SchedulerBackend的定义
      • 7.8.2 LocalSchedulerBackend的实现分析
    • 7.9 任务结果获取器TaskResultGetter
      • 7.9.1 处理成功的Task
      • 7.9.2 处理失败的Task
    • 7.10 任务调度器TaskScheduler
      • 7.10.1 TaskSchedulerImpl的属性
      • 7.10.2 TaskSchedulerImpl的初始化
      • 7.10.3 TaskSchedulerImpl的启动
      • 7.10.4 TaskSchedulerImpl与Task的提交
      • 7.10.5 TaskSchedulerImpl与资源分配
      • 7.10.6 TaskSchedulerImpl的调度流程
      • 7.10.7 TaskSchedulerImpl对执行结果的处理
      • 7.10.8 TaskSchedulerImpl的常用方法
    • 7.11 小结
  • 第8章 计算引擎
    • 8.1 计算引擎概述
    • 8.2 内存管理器与执行内存
      • 8.2.2 MemoryManager模型与执行内存
      • 8.2.3 UnifiedMemoryManager与执行内存
    • 8.3 内存管理器与Tungsten
      • 8.3.1 MemoryBlock详解
      • 8.3.2 MemoryManager模型与Tungsten
      • 8.3.3 Tungsten的内存分配器
    • 8.4 任务内存管理器
      • 8.4.1 TaskMemoryManager详解
      • 8.4.2 内存消费者
      • 8.4.3 执行内存整体架构
    • 8.5 Task详解
      • 8.5.1 任务上下文TaskContext
      • 8.5.2 Task的定义
      • 8.5.3 ShuffleMapTask的实现
      • 8.5.4 ResultTask的实现
    • 8.6 IndexShuffleBlockResolver详解
    • 8.7 采样与估算
      • 8.7.1 SizeTracker的实现分析
      • 8.7.2 SizeTracker的工作原理
    • 8.8 特质WritablePartitionedPairCollection
    • 8.9 AppendOnlyMap的实现分析
      • 8.9.1 AppendOnlyMap的容量增长
      • 8.9.2 AppendOnlyMap的数据更新
      • 8.9.3 AppendOnlyMap的缓存聚合算法
      • 8.9.4 AppendOnlyMap的内置排序
      • 8.9.5 AppendOnlyMap的扩展
    • 8.10 PartitionedPairBuffer的实现分析
      • 8.10.1 PartitionedPairBuffer的容量增长
      • 8.10.2 PartitionedPairBuffer的插入
      • 8.10.3 PartitionedPairBuffer的迭代器
    • 8.11 外部排序器
      • 8.11.2 ShuffleExternalSorter详解
    • 8.12 Shuffle管理器
      • 8.12.1 ShuffleWriter详解
      • 8.12.2 ShuffleBlockFetcherIterator详解
      • 8.12.3 BlockStoreShuffleReader详解
      • 8.12.4 SortShuffleManager详解
    • 8.13 map端与reduce端的Shuffle组合
    • 8.14 小结
  • 第9章 部署模式
    • 9.1 心跳接收器HeartbeatReceiver
    • 9.2 Executor的实现分析
      • 9.2.1 Executor的心跳报告
      • 9.2.2 运行Task
    • 9.3 local部署模式
    • 9.4 持久化引擎PersistenceEngine
      • 9.4.1 基于文件系统的持久化引擎
      • 9.4.2 基于ZooKeeper的持久化引擎
    • 9.5 领导选举代理
    • 9.6 Master详解
      • 9.6.1 启动Master
      • 9.6.2 检查Worker超时
      • 9.6.3 被选举为领导时的处理
      • 9.6.4 一级资源调度
      • 9.6.5 注册Worker
      • 9.6.6 更新Worker的最新状态
      • 9.6.7 处理Worker的心跳
      • 9.6.8 注册Application
      • 9.6.9 处理Executor的申请
      • 9.6.10 处理Executor的状态变化
      • 9.6.11 Master的常用方法
    • 9.7 Worker详解
      • 9.7.1 启动Worker
      • 9.7.2 向Master注册Worker
      • 9.7.3 向Master发送心跳
      • 9.7.4 Worker与领导选举
      • 9.7.5 运行Driver
      • 9.7.6 运行Executor
      • 9.7.7 处理Executor的状态变化
    • 9.8 StandaloneAppClient实现
      • 9.8.1 ClientEndpoint的实现分析
      • 9.8.2 StandaloneAppClient的实现分析
    • 9.9 StandaloneSchedulerBackend的实现分析
      • 9.9.1 StandaloneSchedulerBackend的属性
      • 9.9.2 DriverEndpoint的实现分析
      • 9.9.3 StandaloneSchedulerBackend的启动
      • 9.9.4 StandaloneSchedulerBackend的停止
      • 9.9.5 StandaloneSchedulerBackend与资源分配
    • 9.10 CoarseGrainedExecutorBackend详解
      • 9.10.1 CoarseGrainedExecutorBackend进程
      • 9.10.2 CoarseGrainedExecutorBackend的功能分析
    • 9.11 local-cluster部署模式
      • 9.11.1 启动本地集群
      • 9.11.2 local-cluster部署模式的启动过程
      • 9.11.3 local-cluster部署模式下Executor的分配过程
      • 9.11.4 local-cluster部署模式下的任务提交执行过程
    • 9.12 Standalone部署模式
      • 9.12.1 Standalone部署模式的启动过程
      • 9.12.2 Standalone部署模式下Executor的分配过程
      • 9.12.3 Standalone部署模式的资源回收
      • 9.12.4 Standalone部署模式的容错机制
    • 9.13 其他部署方案
      • 9.13.1 YARN
      • 9.13.2 Mesos
    • 9.14 小结
  • 第10章 Spark API
    • 10.1 基本概念
    • 10.2 数据源DataSource
      • 10.2.1 DataSourceRegister详解
      • 10.2.2 DataSource详解
    • 10.3 检查点的实现
      • 10.3.1 CheckpointRDD的实现
      • 10.3.2 RDDCheckpointData的实现
      • 10.3.3 ReliableRDDCheckpointData的实现
    • 10.4 RDD的再次分析
      • 10.4.1 转换API
      • 10.4.2 动作API
      • 10.4.3 检查点API的实现分析
      • 10.4.4 迭代计算
    • 10.5 数据集合Dataset
    • 10.6 DataFrameReader详解
    • 10.7 SparkSession详解
      • 10.7.1 SparkSession的构建器Builder
      • 10.7.2 SparkSession的API
    • 10.8 word count例子
      • 10.8.1 Job准备阶段
      • 10.8.2 Job的提交与调度
    • 10.9 小结
  • 附录
暂无相关搜索结果!
    展开/收起文章目录

    二维码

    手机扫一扫,轻松掌上学

    《Spark内核设计的艺术:架构设计与实现》电子书下载

    请下载您需要的格式的电子书,随时随地,享受学习的乐趣!
    EPUB 电子书

    书签列表

      阅读记录

      阅读进度: 0.00% ( 0/0 ) 重置阅读进度