下载 >  大数据 >  spark > spark源码分析

spark源码分析

spark
2018-04-15 上传大小:81.51MB
分享
收藏 举报
深入理解Spark 核心思想与源码分析

深入理解Spark 核心思想与源码分析深入理解Spark 核心思想与源码分析深入理解Spark 核心思想与源码分析深入理解Spark 核心思想与源码分析深入理解Spark 核心思想与源码分析

立即下载
深入理解Spark核心思想与源码分析

《深入理解Spark核心思想与源码分析》讲解了spark基本内容及源码分析

立即下载
深入理解Spark:核心思想及源码分析.pdf

深入理解Spark:核心思想及源码分析.pdf 深入理解Spark:核心思想及源码分析.pdf

立即下载
深入理解Spark:核心思想与源码分析(完整版)

在深入了解一个系统的原理、实现细节之前,应当先准备好它的源码编译环境、运行环境。如果能在实际环境安装和运行Spark,显然能够提升读者对于Spark的一些感受,对系统能有个大体的印象,有经验的技术人员甚至能够猜出一些Spark采用的编程模型、部署模式等。当你通过一些途径知道了系统的原理之后,难道不会问问自己?这是怎么做到的。如果只是游走于系统使用、原理了解的层面,是永远不可能真正理解整个系统的。很多IDE本身带有调试的功能,每当你阅读源码,陷入重围时,调试能让我们更加理解运行期的系统。如果没有调试功能,不敢想象阅读源码的困难。本章的主要目的是帮助读者构建源码学习环境,主要包括以下内容:在windows环境下搭建源码阅读环境;在Linux搭建基本的执行环境;Spark的基本使用,如spark-shell。

立即下载
Machine Learning with Spark 2.x

spark机器学习算法研究和源码分析 Mastering Machine Learning with Spark 2.x Apache-Spark-2x-Machine-Learning-Cookbook

立即下载
spark技术内幕

spark技术深入内核源码分析.

立即下载
深入理解Spark:核心思想与源码分析

深入理解Spark:核心思想与源码分析

立即下载
深入理解Spark 核心思想与源码分析 完整版 pdf

【更多关于《Spark》资料,加qq群:931257845领取!】 深入理解Spark 核心思想与源码分析 ,耿嘉安完整版,大数据spark开发必备,你值得拥有。清晰完整版

立即下载
深入理解Spark__核心思想与源码分析_完美修复_完整清晰_共11章全

手工调整清晰度,深入理解Spark__核心思想与源码分析_完美修复_完整清晰_共11章全

立即下载
高清完整版 深入理解Spark 核心思想与源码分析

深入理解Spark 核心思想与源码分析

立即下载
深入理解Spark:核心思想与源码分析.pdf

深入理解Spark:核心思想与源码分析.pdf 阿里技术丛书 深入理解Spark:核心思想与源码分析.pdf 阿里技术丛书

立即下载
spark源码分析系列

个人对spark源码的一些分析,在个人学习和使用spark过程中,结合spark源码和实践进行全方位的分析,希望对大家有所帮助

立即下载
深入理解Spark 核心思想与源码分析中文高清完整版PDF

 本书对Spark源代码进行了全面而深入的分析,旨在为Spark的优化、定制和扩展提供原理性的指导。阿里巴巴集团专家鼎力推荐,阿里巴巴资深Java开发和大数据专家撰写。本书对Spark的核心模块、部署和协作模块的实现原理与使用技巧进行了深入的剖析与解读。   本书分为三篇:   准备篇(第1~2章),介绍了Spark的环境搭建、设计理念与基本架构,帮助读者了解一些背景知识。   核心设计篇(第3~7章),着重讲解SparkContext的初始化、存储体系、任务提交与执行、计算引擎及部署模式的原理和源码分析。通过这部分的内容,读者可以通过源码剖析更加深入理解Spark的核心设计与实现,以便在实际使用中能够快速解决线上问题并对性能进行调优。   扩展篇(第8~11章),主要讲解基于Spark核心的各种扩展及应用,包括SQL处理引擎、Hive处理、流式计算框架Spark Streaming、图计算框架GraphX、机器学习库MLlib等内容。通过阅读这部分内容,读者可以扩展实际项目中对Spark的应用场景,让Spark焕发活力。

立即下载
spark学习资料

网上搜集的3本spark书籍: Spark快速大数据分析 大数据Spark企业级实战版 深入理解Spark 核心思想与源码分析

立即下载
Spark深入剖析实战视频教程下载

文件中是视频教程的网盘地址与密码;视频主要是深度剖析spark原理及在项目中的实战运用。

立即下载
深入理解Spark:核心思想与源码分析.耿嘉安(带详细书签) PDF 下载 高清 完整版

《深入理解SPARK:核心思想与源码分析》结合大量图和示例,对Spark的架构、部署模式和工作模块的设计理念、实现源码与使用技巧进行了深入的剖析与解读。 《深入理解SPARK:核心思想与源码分析》一书对Spark1.2.0版本的源代码进行了全面而深入的分析,旨在为Spark的优化、定制和扩展提供原理性的指导。阿里巴巴集团专家鼎力推荐、阿里巴巴资深Java开发和大数据专家撰写。 本书分为三篇: 准备篇(第1~2章),介绍了Spark的环境搭建、设计理念与基本架构,帮助读者了解一些背景知识。 核心设计篇(第3~7章),着重讲解SparkContext的初始化、存储体系、任务提交与执行、计算引擎及部署模式的原理和源码分析。通过这部分的内容,读者可以通过源码剖析更加深入理解Spark的核心设计与实现,以便在实际使用中能够快速解决线上问题并对性能进行调优。 扩展篇(第8~11章),主要讲解基于Spark核心的各种扩展及应用,包括SQL处理引擎、Hive处理、流式计算框架Spark Streaming、图计算框架GraphX、机器学习库MLlib等内容。通过阅读这部分内容,读者可以扩展实际项目中对Spark的应用场景,让Spark焕发活力。 目录 前言 准 备 篇 第1章 环境准备 2 1.1 运行环境准备 2 1.1.1 安装JDK 3 1.1.2 安装Scala 3 1.1.3 安装Spark 4 1.2 Spark初体验 4 1.2.1 运行spark-shell 4 1.2.2 执行word count 5 1.2.3 剖析spark-shell 7 1.3 阅读环境准备 11 1.4 Spark源码编译与调试 13 1.5 小结 17 第2章 Spark设计理念与基本架构 18 2.1 初识Spark 18 2.1.1 Hadoop MRv1的局限 18 2.1.2 Spark使用场景 20 2.1.3 Spark的特点 20 2.2 Spark基础知识 20 2.3 Spark基本设计思想 22 2.3.1 Spark模块设计 22 2.3.2 Spark模型设计 24 2.4 Spark基本架构 25 2.5 小结 26 核心设计篇 第3章 SparkContext的初始化 28 3.1 SparkContext概述 28 3.2 创建执行环境SparkEnv 30 3.2.1 安全管理器SecurityManager 31 3.2.2 基于Akka的分布式消息系统ActorSystem 31 3.2.3 map任务输出跟踪器mapOutputTracker 32 3.2.4 实例化ShuffleManager 34 3.2.5 shuffle线程内存管理器ShuffleMemoryManager 34 3.2.6 块传输服务BlockTransferService 35 3.2.7 BlockManagerMaster介绍 35 3.2.8 创建块管理器BlockManager 36 3.2.9 创建广播管理器Broadcast-Manager 36 3.2.10 创建缓存管理器CacheManager 37 3.2.11 HTTP文件服务器HttpFile-Server 37 3.2.12 创建测量系统MetricsSystem 39 3.2.13 创建SparkEnv 40 3.3 创建metadataCleaner 41 3.4 SparkUI详解 42 3.4.1 listenerBus详解 43 3.4.2 构造JobProgressListener 46 3.4.3 SparkUI的创建与初始化 47 3.4.4 Spark UI的页面布局与展示 49 3.4.5 SparkUI的启动 54 3.5 Hadoop相关配置及Executor环境变量 54 3.5.1 Hadoop相关配置信息 54 3.5.2 Executor环境变量 54 3.6 创建任务调度器TaskScheduler 55 3.6.1 创建TaskSchedulerImpl 55 3.6.2 TaskSchedulerImpl的初始化 57 3.7 创建和启动DAGScheduler 57 3.8 TaskScheduler的启动 60 3.8.1 创建LocalActor 60 3.8.2 ExecutorSource的创建与注册 62 3.8.3 ExecutorActor的构建与注册 64 3.8.4 Spark自身ClassLoader的创建 64 3.8.5 启动Executor的心跳线程 66 3.9 启动测量系统MetricsSystem 69 3.9.1 注册Sources 70 3.9.2 注册Sinks 70 3.9.3 给Sinks增加Jetty的Servlet-ContextHandler 71 3.10 创建和启动ExecutorAllocation-Manager 72 3.11 ContextCleaner的创建与启动 73 3.12 Spark环境更新 74 3.13 创建DAGSchedulerSource和BlockManagerSource 76 3.14 将SparkContext标记为激活 77 3.15 小结 78 第4章 存储体系 79 4.1 存储体系概述 79 4.1.1 块管理器BlockManager的实现 79 4.1.2 Spark存储体系架构 81 4.2 shuffle服务与客户端 83 4.2.1 Block的RPC服务 84 4.2.2 构造传输上下文Transpor-tContext 85 4.2.3 RPC客户端工厂Transport-ClientFactory 86 4.2.4 Netty服务器TransportServer 87 4.2.5 获取远程shuffle文件 88 4.2.6 上传shuffle文件 89 4.3 BlockManagerMaster对Block-Manager的管理 90 4.3.1 BlockManagerMasterActor 90 4.3.2 询问Driver并获取回复方法 92 4.3.3 向BlockManagerMaster注册BlockManagerId 93 4.4 磁盘块管理器DiskBlockManager 94 4.4.1 DiskBlockManager的构造过程 94 4.4.2 获取磁盘文件方法getFile 96 4.4.3 创建临时Block方法create-TempShuffleBlock 96 4.5 磁盘存储DiskStore 97 4.5.1 NIO读取方法getBytes 97 4.5.2 NIO写入方法putBytes 98 4.5.3 数组写入方法putArray 98 4.5.4 Iterator写入方法putIterator 98 4.6 内存存储MemoryStore 99 4.6.1 数据存储方法putBytes 101 4.6.2 Iterator写入方法putIterator详解 101 4.6.3 安全展开方法unrollSafely 102 4.6.4 确认空闲内存方法ensureFreeSpace 105 4.6.5 内存写入方法putArray 107 4.6.6 尝试写入内存方法tryToPut 108 4.6.7 获取内存数据方法getBytes 109 4.6.8 获取数据方法getValues 110 4.7 Tachyon存储TachyonStore 110 4.7.1 Tachyon简介 111 4.7.2 TachyonStore的使用 112 4.7.3 写入Tachyon内存的方法putIntoTachyonStore 113 4.7.4 获取序列化数据方法getBytes 113 4.8 块管理器BlockManager 114 4.8.1 移出内存方法dropFrom-Memory 114 4.8.2 状态报告方法reportBlockStatus 116 4.8.3 单对象块写入方法putSingle 117 4.8.4 序列化字节块写入方法putBytes 118 4.8.5 数据写入方法doPut 118 4.8.6 数据块备份方法replicate 121 4.8.7 创建DiskBlockObjectWriter的方法getDiskWriter 125 4.8.8 获取本地Block数据方法getBlockData 125 4.8.9 获取本地shuffle数据方法doGetLocal 126 4.8.10 获取远程Block数据方法doGetRemote 127 4.8.11 获取Block数据方法get 128 4.8.12 数据流序列化方法dataSerializeStream 129 4.9 metadataCleaner和broadcastCleaner 129 4.10 缓存管理器CacheManager 130 4.11 压缩算法 133 4.12 磁盘写入实现DiskBlockObjectWriter 133 4.13 块索引shuffle管理器IndexShuffleBlockManager 135 4.14 shuffle内存管理器ShuffleMemoryManager 137 4.15 小结 138 第5章 任务提交与执行 139 5.1 任务概述 139 5.2 广播Hadoop的配置信息 142 5.3 RDD转换及DAG构建 144 5.3.1 为什么需要RDD 144 5.3.2 RDD实现分析 146 5.4 任务提交 152 5.4.1 任务提交的准备 152 5.4.2 finalStage的创建与Stage的划分 157 5.4.3 创建Job 163 5.4.4 提交Stage 164 5.4.5 提交Task 165 5.5 执行任务 176 5.5.1 状态更新 176 5.5.2 任务还原 177 5.5.3 任务运行 178 5.6 任务执行后续处理 179 5.6.1 计量统计与执行结果序列化 179 5.6.2 内存回收 180 5.6.3 执行结果处理 181 5.7 小结 187 第6章 计算引擎 188 6.1 迭代计算 188 6.2 什么是shuffle 192 6.3 map端计算结果缓存处理 194 6.3.1 map端计算结果缓存聚合 195 6.3.2 map端计算结果简单缓存 200 6.3.3 容量限制 201 6.4 map端计算结果持久化 204 6.4.1 溢出分区文件 205 6.4.2排序与分区分组 207 6.4.3 分区索引文件 209 6.5 reduce端读取中间计算结果 210 6.5.1 获取map任务状态 213 6.5.2 划分本地与远程Block 215 6.5.3 获取远程Block 217 6.5.4 获取本地Block 218 6.6 reduce端计算 219 6.6.1 如何同时处理多个map任务的中间结果 219 6.6.2 reduce端在缓存中对中间计算结果执行聚合和排序 220 6.7 map端与reduce端组合分析 221 6.7.1 在map端溢出分区文件,在reduce端合并组合 221 6.7.2 在map端简单缓存、排序分组,在reduce端合并组合 222 6.7.3 在map端缓存中聚合、排序分组,在reduce端组合 222 6.8 小结 223 第7章 部署模式 224 7.1 local部署模式 225 7.2 local-cluster部署模式 225 7.2.1 LocalSparkCluster的启动 226 7.2.2 CoarseGrainedSchedulerBackend的启动 236 7.2.3 启动AppClient 237 7.2.4 资源调度 242 7.2.5 local-cluster模式的任务执行 253 7.3 Standalone部署模式 255 7.3.1 启动Standalone模式 255 7.3.2 启动Master分析 257 7.3.3 启动Worker分析 259 7.3.4 启动Driver Application分析 261 7.3.5 Standalone模式的任务执行 263 7.3.6 资源回收 263 7.4 容错机制 266 7.4.1 Executor异常退出 266 7.4.2 Worker异常退出 268 7.4.3 Master异常退出 269 7.5 其他部署方案 276 7.5.1 YARN 277 7.5.2 Mesos 280 7.6 小结 282 扩 展 篇 第8章 Spark SQL 284 8.1 Spark SQL总体设计 284 8.1.1 传统关系型数据库SQL运行原理 285 8.1.2 Spark SQL运行架构 286 8.2 字典表Catalog 288 8.3 Tree和TreeNode 289 8.4 词法解析器Parser的设计与实现 293 8.4.1 SQL语句解析的入口 294 8.4.2 建表语句解析器DDLParser 295 8.4.3 SQL语句解析器SqlParser 296 8.4.4 Spark代理解析器SparkSQLParser 299 8.5 Rule和RuleExecutor 300 8.6 Analyzer与Optimizer的设计与实现 302 8.6.1 语法分析器Analyzer 304 8.6.2 优化器Optimizer 305 8.7 生成物理执行计划 306 8.8 执行物理执行计划 308 8.9 Hive 311 8.9.1 Hive SQL语法解析器 311 8.9.2 Hive SQL元数据分析 313 8.9.3 Hive SQL物理执行计划 314 8.10 应用举例:JavaSparkSQL 314 8.11 小结 320 第9章 流式计算 321 9.1 Spark Streaming总体设计 321 9.2 StreamingContext初始化 323 9.3 输入流接收器规范Receiver 324 9.4 数据流抽象DStream 325 9.4.1 Dstream的离散化 326 9.4.2 数据源输入流InputDStream 327 9.4.3 Dstream转换及构建DStream Graph 329 9.5 流式计算执行过程分析 330 9.5.1 流式计算例子CustomReceiver 331 9.5.2 Spark Streaming执行环境构建 335 9.5.3 任务生成过程 347 9.6 窗口操作 355 9.7 应用举例 357 9.7.1 安装mosquitto 358 9.7.2 启动mosquitto 358 9.7.3 MQTTWordCount 359 9.8 小结 361 第10章 图计算 362 10.1 Spark GraphX总体设计 362 10.1.1 图计算模型 363 10.1.2 属性图 365 10.1.3 GraphX的类继承体系 367 10.2 图操作 368 10.2.1 属性操作 368 10.2.2 结构操作 368 10.2.3 连接操作 369 10.2.4 聚合操作 370 10.3 Pregel API 371 10.3.1 Dijkstra算法 373 10.3.2 Dijkstra的实现 376 10.4 Graph的构建 377 10.4.1 从边的列表加载Graph 377 10.4.2 在Graph中创建图的方法 377 10.5 顶点集合抽象VertexRDD 378 10.6 边集合抽象EdgeRDD 379 10.7 图分割 380 10.8 常用算法 382 10.8.1 网页排名 382 10.8.2 Connected Components的应用 386 10.8.3 三角关系统计 388 10.9 应用举例 390 10.10 小结 391 第11章 机器学习 392 11.1机器学习概论 392 11.2 Spark MLlib总体设计 394 11.3 数据类型 394 11.3.1 局部向量 394 11.3.2标记点 395 11.3.3局部矩阵 396 11.3.4分布式矩阵 396 11.4基础统计 398 11.4.1摘要统计 398 11.4.2相关统计 399 11.4.3分层抽样 401 11.4.4假设检验 401 11.4.5随机数生成 402 11.5分类和回归 405 11.5.1数学公式 405 11.5.2线性回归 407 11.5.3分类 407 11.5.4回归 410 11.6决策树 411 11.6.1基本算法 411 11.6.2使用例子 412 11.7随机森林 413 11.7.1基本算法 414 11.7.2使用例子 414 11.8梯度提升决策树 415 11.8.1基本算法 415 11.8.2使用例子 416 11.9朴素贝叶斯 416 11.9.1算法原理 416 11.9.2使用例子 418 11.10保序回归 418 11.10.1算法原理 418 11.10.2使用例子 419 11.11协同过滤 419 11.12聚类 420 11.12.1K-means 420 11.12.2高斯混合 422 11.12.3快速迭代聚类 422 11.12.4latent Dirichlet allocation 422 11.12.5流式K-means 423 11.13维数减缩 424 11.13.1奇异值分解 424 11.13.2主成分分析 425 11.14特征提取与转型 425 11.14.1术语频率反转 425 11.14.2单词向量转换 426 11.14.3标准尺度 427 11.14.4正规化尺度 428 11.14.5卡方特征选择器 428 11.14.6Hadamard积 429 11.15频繁模式挖掘 429 11.16预言模型标记语言 430 11.17管道 431 11.17.1管道工作原理 432 11.17.2管道API介绍 433 11.17.3交叉验证 435 11.18小结 436 附录A Utils 437 附录B Akka 446 附录C Jetty 450 附录D Metrics 453 附录E Hadoop word count 456 附录F CommandUtils 458 附录G Netty 461 附录H 源码编译错误 465

立即下载
spark源码分析.pdf

spark源码分析,RDD、Iterator、Job、DAG、Stage、Taskset、task等

立即下载
深入理解Spark 核心思想与源码分析.pdf

讲解SparkContext的初始化、存储体系、任务提交与执行、计算引擎及部署模式的原理和源码分析

立即下载
Kafka权威指南(完整-目录版)

hadoop,kafka,kafka权威指南,spark streaming,kafka源码分析

立即下载
深入理解spark: 核心思想与源码分析pdf

深入理解spark: 核心思想与源码分析pdf 大数据技术丛书

立即下载
关闭
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
点击完成任务获取下载码
输入下载码
为了良好体验,不建议使用迅雷下载
img

spark源码分析

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
VIP和C币套餐优惠
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载
您还未下载过该资源
无法举报自己的资源

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

若举报审核通过,可返还被扣除的积分

  • 举报人:
  • 被举报人:
  • *类型:
    • *投诉人姓名:
    • *投诉人联系方式:
    • *版权证明:
  • *详细原因: