![]() 作者:Spark亚太研究院 王家林 出版社: 电子工业出版社 副标题: 决胜大数据时代Spark全系列书籍 出版年: 2015-1 页数: 732 定价: 129 装帧: 平装 ISBN: 9787121247446 内容简介 · · · · · ·Spark是当今大数据领域最活跃、最热门、最高效的大数据通用计算平台,是Apache软件基金会下所有开源项目中三大顶级开源项目之一。 在“One Stack to rule them all”理念的指引下,Spark基于RDD成功地构建起了大数据处理的一体化解决方案,将MapReduce、Streaming、SQL、Machine Learning、Graph Processing等大数据计算模型统一到一个技术堆栈中,开发者使用一致的API操作Spark中的所有功能;更为重要的是Spark的Spark SQL、MLLib、GraphX、Spark Streaming等四大子框架之间可以在内存中完美的无缝集成并可以互相操作彼此的数据,这不仅打造了Spark在当今大数据计算领域其他任何计算框架都无可匹敌的优势,更使得Spark正在加速成为大数据处理中心首... 作者简介 · · · · · ·Spark亚太研究院首席专家,中国移动互联网和云计算大数据集大成者。在Spark、Hadoop、Android等方面有丰富的源码、实务和性能优化经验。彻底研究了Spark从0.5.0到0.9.1共13个版本的Spark源码,并已完成2014年5月31日发布的Spark1.0源码研究。 Hadoop源码级专家,曾负责某知名公司的类Hadoop框架开发工作,专注于Hadoop一站式解决方案的提供,同时也是云计算分布式大数据处理的最早实践者之一。 Android架构师、高级工程师、咨询顾问、培训专家。 通晓Spark、Hadoop、Android、HTML5,迷恋英语播音和健美。 目录 · · · · · ·第1章 Spark编程模型 11.1 Spark:一体化、多元化的高速 大数据通用计算平台和库 1 1.1.1 为什么需要使用Spark 5 1.1.2 Spark技术生态系统简介 9 1.2 Spark大数据处理框架 20 · · · · · ·() 第1章 Spark编程模型 1 1.1 Spark:一体化、多元化的高速 大数据通用计算平台和库 1 1.1.1 为什么需要使用Spark 5 1.1.2 Spark技术生态系统简介 9 1.2 Spark大数据处理框架 20 1.2.1 Spark速度为何如此之快 20 1.2.2 RDD:分布式函数式编程 24 1.3 Spark子框架解析 28 1.3.1 图计算框架Spark GraphX 28 1.3.2 实时流处理框架(Spark Streaming) 41 1.3.3 交互式SQL处理框架Spark SQL 46 1.3.4 机器学习框架(Spark MLlib) 49 第2章 构建Spark分布式集群 55 2.1 搭建Hadoop单机版本和伪分布式开发环境 55 2.1.1 开发Hadoop需要的基本软件 56 2.1.2 安装每个软件 58 2.1.3 配置Hadoop单机模式并运行Wordcount示例 76 2.1.3 配置Hadoop伪分布模式并运行Wordcount示例 84 2. 2 搭建 Hadoop分布式集群的 92 2.2.1 在VMWare 中准备第二、第三台运行Ubuntu系统的机器 92 2.2.2 按照配置伪分布式模式的方式配置新创建运行Ubuntu系统的机器 93 2.2.3 配置Hadoop分布式集群环境 94 2.2.4 测试Hadoop分布式集群环境 105 2.3 Spark集群的动手搭建 108 2.3.1 Spark集群需要的软件 108 2.3.2 安装每个软件 110 2.3.3 启动并查看集群的状况 116 2.4 构建Hadoop单机版本和伪分布式环境 120 2.4.1 通过Spark的shell测试Spark的工作 121 2.4.2 使用Spark的cache机制观察一下效率的提升 125 第3章 Spark开发环境及其测试 129 3.1 搭建和设置IDEA开发环境 129 3.1.1 构建Spark的IDE开发环境 129 3.1.2 配置Spark的IDE开发环境 132 3.2 测试IDEA环境 146 3.3 实战:在IDEA中开发代码,并运行在Spark集群中 148 第4章 Spark RDD与编程API实战 159 4.1 深度解析Spark RDD 159 4.2 Transformation Operations动手实战 165 4.3 Action Operations动手实战 175 4.4 Spark API综合实战 179 第5章 Spark运行模式深入解析 191 5.1 Spark运行模式概述 192 5.1.1 Spark的运行模式列表 196 5.1.2 Spark的基本工作流程 197 5.2 Standalone模式 201 5.2.1 部署及程序运行 202 5.2.2 内部实现原理 206 5.3 Yarn-Cluster模式 234 5.3.1 部署及程序运行 235 5.3.2 内部实现原理 237 5.4 Yarn-Client模式 243 5.4.1 部署及运行程序 243 5.4.2 内部实现原理 244 第6章 Spark内核解析 247 6.1 Spark内核初探 247 6.1.1 Spark内核核心术语解析 247 6.1.2 Spark集群概览 250 6.1.3 Spark核心组件 251 6.1.4 Spark任务调度系统初见 252 6.2 Spark内核核心源码解读 256 6.2.1 SparkContext核心源码解析初体验 256 6.2.2 TaskSceduler启动源码解析初体验 260 6.2.3 DAGScheduler源码解读初体验 261 6.2.4 Spark的Web监控页面 262 6.3 以RDD的count操作为例触发Job全生命周期源码研究 263 6.4 Akka驱动下的Driver、Master、Worker 276 6.4.1 Driver中的AppClient源码解析 276 6.4.2 AppClient注册Master 279 6.4.3 Worker中Executor启动过程源代码解析 282 第7章 GraphX大规模图计算与图挖掘实战 287 7.1 Spark GraphX概览 288 7.2 Spark GraphX设计实现的核心原理 291 7.3 Table operator和Graph Operator 295 7.4 Vertices、edges、triplets 296 7.5 以最原始的方式构建graph 299 7.6 动手编写第一个Graph代码实例并进行Vertices、edges、triplets操作 299 7.7 在Spark集群上使用文件中的数据加载成为graph并进行操作 310 7.8 在Spark集群上掌握比较重要的图操作 320 7.9 Spark GraphX图算法 342 7.10 淘宝对Spark GraphX的大规模使用 347 第8章 Spark SQL原理与实战 349 8.1 为什么使用Spark SQL 349 8.1.1 Spark SQL的发展历程 349 8.1.2 Spark SQL的性能 351 8.2 Spark SQL运行架构 355 8.2.1 Tree和Rule 357 8.2.2 sqlContext的运行过程 360 8.2.3 hiveContext的运行过程 362 8.2.4 catalyst优化器 365 8.3 解析Spark SQL组件 367 8.3.1 LogicalPlan 367 8.3.2 SqlParser 370 8.3.3 Analyzer 378 8.3.4 Optimizer 381 8.4 深入了解Spark SQL运行的计划 383 8.4.1 hive/console的安装过程和原理 383 8.4.2 常用操作 386 8.4.3 不同数据源的运行计划 388 8.4.4 不同查询的运行计划 391 8.4.5 查询的优化 393 8.5 搭建测试环境 396 8.5.1 搭建虚拟集群(Hadoop1、Hadoop2、Hadoop3) 397 8.5.2 搭建客户端 398 8.5.3 文件数据的准备工作 399 8.5.4 Hive数据的准备工作 399 8.6 Spark SQL之基础应用 400 8.6.1 sqlContext的基础应用 402 8.6.2 hiveContext的基础应用 405 8.6.3 混合使用 408 8.6.4 缓存的使用 409 8.6.5 DSL的使用 410 8.7 ThriftServer和CLI 411 8.7.1 令人惊讶的CLI 411 8.7.2 ThriftServer 414 8.8 Spark SQL之综合应用 418 8.8.1 店铺分类 419 8.8.2 PageRank 421 8.9 Spark SQL之调优 424 8.9.1 并行性 424 8.9.2 高效的数据格式 425 8.9.3 内存的使用 427 8.9.4 合适的Task 428 8.9.5 其他的一些建议 428 第9章 Machine Learning on Spark 431 9.1 Spark MLlib机器学习 431 9.1.1 机器学习快速入门 432 9.1.2 Spark MLlib介绍 442 9.1.3 Spark MLlib架构解析 447 9.1.4 Spark Mllib核心解析 458 9.2 MLlib经典算法解析和案例实战 462 9.2.1 Linear Regression解析和实战 462 9.2.2 K-Means解析和实战 484 9.2.3 协同过滤算法分析和案例实战 502 9.3 MLLib其他常用算法解析和代码实战 552 9.3.1 Basic Statics解析和实战 553 9.3.2 MLlib朴素贝叶斯解析和实战 560 9.3.3 MLlib决策树解析和实战 562 第10章 Tachyon文件系统 565 10.1 Tachyon文件系统概述 565 10.1.1 Tachyon文件系统简介 565 10.1.2 HDFS与Tachyon 566 10.1.3 Tachyon设计原理 568 10.2 Tachyon入门 568 10.2.1 Tachyon部署 568 10.2.2 Tachyon API的使用 570 10.2.3 在MapReduce、Spark上使用Tachyon 572 10.3 Tachyon深度解析 573 10.3.1 Tachyon整体设计概述 573 10.3.2 Tachyon Master启动流程分析 574 10.3.3 Tachyon Worker启动流程分析 577 10.3.4 客户端读写文件源码分析 577 10.4 Tachyon配置参数一览 579 10.5 小结 580 第11章 Spark Streaming原理与实战 581 11.1 Spark Streaming原理 581 11.1.1 原理和运行场景 581 11.1.2 编程模型DStream 584 11.1.3 持久化、容错和优化 588 11.2 Spark Streaming实战 589 11.2.1 源码解析 589 11.2.2 Spark Streaming实战案例 600 第12章 Spark多语言编程 605 12.1 Spark多语言编程的特点 605 12.2 Spark编程模型 609 12.3 深入Spark多语言编程 611 12.4 Spark多语言编程综合实例 622 第13章 R语言的分布式编程之SparkR 627 13.1 R语言快速入门 627 13.1.1 R语言是什么 627 13.1.2 R语言的特点 629 13.1.3 R语言的安装 630 13.1.4 R的核心概念 630 13.1.5 R动手实战 631 13.2 使用SparkR 661 13.2.1 SparkR的安装 661 13.2.2 使用SparkR编写WordCount 662 13.2.3 使用SparkR的更多代码示例 662 第14章 Spark性能调优和最佳实践 665 14.1 Spark性能调优 665 14.1.1 Spark性能优化的12大问题及其解决方法 665 14.1.2 Spark内存优化 669 14.1.3 RDD分区 672 14.1.4 Spark性能优化实例 674 14.2 Spark性能调优细节 675 14.2.1 broadcast和accumulator 675 14.2.2 reduce 和 reduceByKey 676 14.2.3 深入reduceByKey 677 第15章 Spark源码解析 679 15.1 BlockManager源码解析 679 15.2 Cache源码解析 707 15.3 Checkpoint源码解析 725 附录A 动手实战Scala三部曲 733 第一部动手体验Scala 735 第二部 动手实战Scala面向对象编程 746 第三部动手实战Scala函数式编程 761 · · · · · · () |
一种全新的角度切入
作者的思维的天马行空
好的话也推荐别人看
以前就看过的书