大小:21.61M
更新时间:23-09-09
系统:Pc
Spark技术内幕:深入解析Spark内核架构设计与实现原理是一本Spark解析实用教学书籍,由张安站编著,全书详细剖析了Spark内核各个模块,以源码为基础,全面分析了Spark内核的各个模块的设计思想和实现原理,深入理解其内部运作机制乃至实现细节,帮助Spark领域的从业人员全面掌握Spark核心技术,进而在应用开发中做到游刃有余和性能调优时做到有的放矢。
《Spark技术内幕:深入解析Spark内核架构设计与实现原理》以源码为基础,深入分析Spark内核的设计理念和架构实现,系统讲解各个核心模块的实现,为性能调优、二次开发和系统运维提供理论支持;本文最后以项目实战的方式,系统讲解生产环境下Spark应用的开发、部署和性能调优。
本书共分为9章:
第1章介绍了Spark的技术背景和特点,给出了架构的整体概述,并简单介绍了Spark的生态圈。
第2章介绍了Spark源码如何获取和学习环境如何搭建。
第3章是RDD的详细介绍,介绍了RDD的定义和Spark对于DAG的实现,最后通过RDD计算的详细介绍,讲解了Spark对于计算的实现原理。
第4章详细介绍任务调度的实现,包括如何通过DAG来生成计算任务,最后通过“Word Count”来加深对这个实现过程的理解。
第5章介绍了Spark的运行模式,尤其是Standalone模式。Standalone是Spark自身实现的资源管理和调度的模块,这里会详细介绍它的实现原理。
第6章是Executor模块的详细讲解。Executor是最终执行计算任务的单元,这章将详细介绍Executor的实现原理,包括Executor的分配、Task在Executor的详细执行过程。
第7章详细介绍了Spark对于Shuffle的实现原理,包括基于Hash和基于排序的实现。除了详细阐述基于Hash和排序的Shuffle写和Shuffle读之外,还介绍了Shuffle Pluggable框架,为需要实现特定Shuffle逻辑的读者介绍其实现原理。
第8章详细介绍了Spark的Storage模块,在详细介绍了模块的架构后详细解析了不同存储级别的实现细节。
第9章介绍了Spark在百度、腾讯和阿里等国内互联网领域的应用现状。
序 前言 第1章 Spark简介1 1.1Spark的技术背景1 1.2Spark的优点2 1.3Spark架构综述4 1.4Spark核心组件概述5 1.4.1Spark Streaming5 1.4.2MLlib6 1.4.3Spark SQL7 1.4.4 GraphX8 1.5Spark的整体代码结构规模8 第2章 Spark学习环境的搭建9 2.1源码的获取与编译9 2.1.1源码获取9 2.1.2源码编译10 2.2构建Spark的源码阅读环境11 2.3小结15 第3章 RDD实现详解16 3.1概述16 3.2什么是RDD17 3.2.1RDD的创建19 3.2.2RDD的转换20 3.2.3 RDD的动作22 3.2.4RDD的缓存23 3.2.5RDD的检查点24 3.3RDD的转换和DAG的生成25 3.3.1RDD的依赖关系26 3.3.2DAG的生成30 3.3.3Word Count的RDD转换和DAG划分的逻辑视图30 3.4RDD的计算33 3.4.1Task简介33 3.4.2Task的执行起点33 3.4.3缓存的处理35 3.4.4checkpoint的处理37 3.4.5RDD的计算逻辑39 3.5RDD的容错机制39 3.6小结40 第4章 Scheduler 模块详解41 4.1模块概述41 4.1.1整体架构41 4.1.2Scheduler的实现概述43 4.2DAGScheduler实现详解45 4.2.1DAGScheduler的创建46 4.2.2Job的提交48 4.2.3Stage的划分49 4.2.4任务的生成54 4.3任务调度实现详解57 4.3.1TaskScheduler的创建57 4.3.2Task的提交概述58 4.3.3任务调度具体实现61 4.3.4Task运算结果的处理65 4.4Word Count调度计算过程详解72 4.5小结74 第5章 Deploy模块详解76 5.1 Spark运行模式概述76 5.1.1 local77 5.1.2Mesos78 5.1.3YARN82 5.2模块整体架构86 5.3消息传递机制详解87 5.3.1Master和Worker87 5.3.2Master和Client89 5.3.3Client和Executor91 5.4集群的启动92 5.4.1Master的启动92 5.4.2Worker的启动96 5.5集群容错处理98 5.5.1Master 异常退出98 5.5.2Worker异常退出99 5.5.3Executor异常退出101 5.6Master HA实现详解102 5.6.1Master启动的选举和数据恢复策略103 5.6.2集群启动参数的配置105 5.6.3Curator Framework简介 106 5.6.4ZooKeeperLeaderElectionAgent的实现109 5.7小结110 第6章 Executor模块详解112 6.1Standalone模式的Executor分配详解113 6.1.1SchedulerBackend创建AppClient114 6.1.2AppClient向Master注册Application116 6.1.3Master根据AppClient的提交选择Worker119 6.1.4Worker根据Master的资源分配结果创建Executor121 6.2Task的执行122 6.2.1依赖环境的创建和分发123 6.2.2任务执行125 6.2.3任务结果的处理128 6.2.4Driver端的处理130 6.3 参数设置131 6.3.1 spark.executor.memory131 6.3.2日志相关132 6.3.3spark.executor.heartbeatInterval132 6.4小结133 第7章 Shuffle模块详解134 7.1Hash Based Shuffle Write135 7.1.1Basic Shuffle Writer实现解析136 7.1.2存在的问题138 7.1.3Shuffle Consolidate Writer139 7.1.4小结140 7.2Shuffle Pluggable 框架141 7.2.1org.apache.spark.shuffle.ShuffleManager141 7.2.2org.apache.spark.shuffle.ShuffleWriter143 7.2.3org.apache.spark.shuffle.ShuffleBlockManager143 7.2.4org.apache.spark.shuffle.ShuffleReader144 7.2.5如何开发自己的Shuffle机制144 7.3Sort Based Write144 7.4Shuffle Map Task运算结果的处理148 7.4.1Executor端的处理148 7.4.2Driver端的处理150 7.5Shuffle Read152 7.5.1整体流程152 7.5.2数据读取策略的划分155 7.5.3本地读取156 7.5.4远程读取158 7.6性能调优160 7.6.1spark.shuffle.manager160 7.6.2spark.shuffle.spill162 7.6.3spark.shuffle.memoryFraction和spark.shuffle.safetyFraction162 7.6.4spark.shuffle.sort.bypassMergeThreshold 163 7.6.5spark.shuffle.blockTransferService 163 7.6.6spark.shuffle.consolidateFiles 163 7.6.7spark.shuffle.compress和 spark.shuffle.spill.compress164 7.6.8spark.reducer.maxMbInFlight165 7.7小结165 第8章 Storage模块详解167 8.1模块整体架构167 8.1.1整体架构167 8.1.2源码组织结构170 8.1.3Master 和Slave的消息传递详解173 8.2存储实现详解181 8.2.1存储级别181 8.2.2模块类图184 8.2.3org.apache.spark.storage.DiskStore实现详解186 8.2.4org.apache.spark.storage.MemoryStore实现详解188 8.2.5org.apache.spark.storage.TachyonStore实现详解189 8.2.6Block存储的实现190 8.3性能调优194 8.3.1spark.local.dir194 8.3.2spark.executor.memory194 8.3.3spark.storage.memoryFraction194 8.3.4spark.streaming.blockInterval195 8.4小结195 第9章 企业应用概述197 9.1Spark在百度197 9.1.1现状197 9.1.2百度开放云BMR的Spark198 9.1.3在Spark中使用Tachyon199 9.2Spark在阿里200 9.3Spark在腾讯200 9.4小结201
1、下载并解压,得出pdf文件
2、如果打不开本文件,请务必下载pdf阅读器
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读
应用信息
同类热门
类似软件
designspark mechanical官方版1.13G3120人在用 designspark mechanical官方版是一款专业的3D设计软件,能帮助设计人员把复杂的工作图分解成简单的草图进行制作,系统构建于AutoCAD平台之上,常用于二维绘图、详细绘制、设计文档和基本三维设计,现已成为国际上广为流行的绘图工具之
查看
spark高级数据分析5.79M323人在用 spark高级数据分析是一本Spark实用手册,由著名大数据公司Cloudera的四名数据科学家编写,他们联袂展示了利用Spark进行大规模数据分析的若干模式,而且每个模式都自成一体。全书将Spark、统计学方法和真实数据集结合起来,通过实例向读者
查看
DesignSparkPCB印刷电路板工具139.57M266人在用 DesignSpark PCB是一款由RS Components基于AutoCAD平台开发的印刷电路板(PCB)设计工具,能轻松进行原理图捕获,设计、编辑原理图及电路板布线图。支持使用Library Manager中的“3D 视图”选项卡建立3D
查看
apache spark 源码剖析30.99M184人在用apache spark 源码剖析是一本Spark代码源码学习书籍,由许鹏编著,本书全面、系统地介绍了Spark源码,深入浅出,细致入微。先提供给读者一系列分析源码的实用技巧,并给出一个合理的阅读顺序,并且始终抓住资源分配、消息传递、容错处理等基本问题,
查看
Spark核心技术与高级应用38.49M212人在用Spark核心技术与高级应用是Spark领域少有的专注于核心原理与深度应用的著作,由科大讯飞和百分点科技的4位大数据专家撰写。全书不仅细致介绍了Spark的程序开发、编程模型、作业执行解析等基础知识,而且还深度讲解了Spark SQL、Spark ML、
查看
DesignSpark Electrical(电气CAD工具)1.13G278人在用 DesignSpark Electrical是一款专业的电气CAD工具,让电气设计师和自动化工程师可快速并精准地设计、修改电气系统。操作简单,功能强大,不管是用户需要的纯设计工具、海量技术信息,还是完整的设计生态系统,软件都可以与用户正在使用的设计
查看热门标签
网友评论0人参与,0条评论
最新排行
shell脚本学习指南pdf版26.88M shell脚本学习指南,英文名称classic shell scripting,是一本关习如何学习和掌握shell脚本的图书,由(美)罗宾(Robbins.A.)、(美)比博(Beebe,N.H.F.)编著,O'Reilly Taiwan公司编译,
查看
鲜活的数据:数据可视化指南24.93Mpdf扫描版 鲜活的数据:数据可视化指南是一本数据可视化系列的经典作品,由[美]Nathan Yau编著,向怡宁翻译。本书以实例讲解为主,目的是让大家熟悉制图所需的每一个步骤,掌握每一项技能。你可以从头开始完整地读一遍,不过如果你已经有想法在酝酿了,也可以只挑选
查看
mysql 5.7从入门到精通194.53M刘增杰 pdf扫描版 mysql 5.7从入门到精通是一本MySQL 5.7入门书籍,由刘增杰编著,本书涵盖了所有MySQL的基础知识点,由浅入深地掌握MySQL数据库开发技术,在介绍案例的过程中,每一个操作均有对应步骤和过程说明。这种图文结合的方式使读者在学习过程中能
查看
百姓自制蔬菜食谱1000例58.08Mpdf高清版百姓自制蔬菜食谱1000例是一本pdf高清版的电子书,详细的介绍了各种蔬菜的不同做法,包括白菜、菠菜、韭菜、圆白菜、青菜、雪菜、茭白、芦笋、萝卜、山药、土豆、藕等多种蔬菜。同时该蔬菜菜谱还介绍了做菜的一些小常识、小窍门,让百姓了解从选料、制作到食用的一系
查看
大规模分布式存储系统原理解析与架构实战86.63M杨传辉pdf扫描版 大规模分布式存储系统原理解析与架构实战是一本大规模存储系统的核心技术和原理分析书籍,由阿里巴巴高级技术专家杨传辉编著。本书内容丰富详细,系统的构建大规模存储系统的核心技术和原理,详细分析Google、Microsoft和阿里巴巴的大规模分布式存储系
查看
linuxshell脚本攻略 第2版18.24M门佳 pdf扫描版linuxshell脚本攻略 第2版是一本LinuxShell使用手册,由资深GNU/Linux用户Shantanu Tushar和Sarath Lakshman两人共同编著,门佳翻译。本书向读者展现了如何有效地利用shell完成复杂的任务。从shell
查看
欧姆龙plc编程手册7.59M 欧姆龙plc编程软件绝对是目前工作中最优秀的可编程序控制器软件,但软件如何才能更好的掌握好呢?本站这里提供的欧姆龙plc编程手册可以帮到您,该手册为pdf中文版,它提供了对CPM1,CPM1A,CPM2A,CPM2AH,CPM2C(包括CPM2C-
查看
ArcCatalog使用手册13.05Mpdf完整版 ArcCatalog是ArcGIS Desktop中最常用的应用程序之一,它是地理数据的资源管理器,用户通过ArcCatalog来组织、管理和创建GIS数据。特点就是采用了标准关系数据库技术,来表现地理信息的数据模型,利用标准的数据库管理系统来存储
查看
完美C++(第5版)19.09M萨维奇pdf扫描版 完美C++(第5版)是一本c++语言学习教材,是美国常青藤名校十数年指定C++教材,它由加州大学圣迭戈分校计算机科学与工程系教授Walter Savitch萨维奇编著。本书很全面地介绍了c++语言的相关知识,其内容布置清晰、简明各章均有大量例子及完
查看
交互设计沉思录(原书第2版)54.38Mpdf高清扫描版交互设计沉思录pdf顶尖设计专家Jon Kolko的经验与心得(原书第2版)是一本交互设计领域的扛鼎之作,由交互设计领域的思想领袖JonKolko所著,完美地将当代设计理论和研究成果融入交互设计实践中,将对交互设计的阐述和分析推向了新的高度,为整个领域带
查看