img
share 分享

Spark机器学习:核心技术与实践

作者:Alex Tellez,Michal Malohlava

出版社:机械工业出版社

ISBN:9787111598466

VIP会员免费 (仅需0.8元/天) ¥ 30.0

温馨提示: 价值40000元的1000本电子书,VIP会员随意看哦!

电子书推荐

更多资源 展开

图解Spark核心技术与案例实战_PDF电子书,文字版 评分:

目录 第一篇基础篇 Spark 及其生态圈概述.............. . . . .…......... .. ... . ... .. ....... . ...... .. . ............... . .... ................. ........... 1 ··B·A . -··A Spark 简介.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.1 1.1.2 1.1.3 什么是Spa此. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . 1 Spark 与MapReduce 比较.. .. ... . .. .. . ....... .. .. .. . ..... . .. .. .... ......... . ... . .. ..... ...... .. . ...... .. . . .............. 3 Spark 的演进路线图.. . .. .... ..... . ....... . ... . ... . .. .. .............. . .. .. .. . ...... . ... . ....... ........ .. .. . . . ... .... . . ..... 4 1.2 Spark 生态系统.......................................................................................................... . .. 5 I .2. I 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.3 小结 第2 章 Spark Core ..…....... .. ......... ... ......... ........ ........... .............................. .... ................. ....... ........ 6 Spark Streaming .............….. .......…........................................ ...................................... ..... 7 Spark SQL .................. ..................... .................................. ....... .... .... ............................ .... 9 BlinkDB ......... ..............…..... ............ .………………………….........…........……........…........... 11 MLBase/MLlib ..................... ............ ...…...... ... ..... ... .......................... ......................... ..... 12 GraphX ...... ......... ................…….......……·…….......….. ... ..... ............................…................ 12 S parkR ...................……...................... ............ ........ ..................................... .... .......... ....... 13 Alluxio ................. .............................. .................................................... .... ... ..... ... ........... 14 …................... 15 搭建Spark 实战环境.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . . • . . . . . . . . . . . . . • . . . . . . • . . . . . . . . . . . . . . . . . . . • . . . . . . . . . . • . . • . 16 2.1 基础环境搭建.... . .....…….......….......…........................................................................ 16 2.1.1 2.1.2 搭建集群样板机. . . .... . .. ... ... .. ... . .. . ... . .. ... .. . ... . .. ... . ... . .. .. . . .. . ... . .. .. .. . .. ... . . . . ... .. . . .. . ...................门 配置集群环境.. ... .. . .... ...... .. .. .. ... .. . .... .. .. .. . . .. .. .. .. . .... ... . ...... . ...... . .. ... . .. .. . ..... . .. .. . .... .. .... .... ....22 2.2 编译Spark 源代码.. .....………………………….. • . . . . • . . . • . . . • . . • • . . . • • • • • • . • . • • . . . . . . . . . . . . . . . . . . . . . . • . . . . . . . . 25 2.2.1 2.2.2 2.2.3 2.2.4 自己置Spark 编译环境............ . .... . ... . .. . ... . ...... . . .... . ......... . ....... . . ... .. . . . . . .. .. .. ... . .. . . . .......... . .. . ..2 6 使用Maven 编译Spark . ... .. . . . ......... ...... . . .. . .. .. .. . ... .. .. .. .. . .. .. . ... .. ...... . ...... .. ..... .. .... . .. . .. .. . .....刀 使用SBT 编译Spark ....... ......... ....... ...................................... ...................... .................. 29 生成Spark 部署包..... . .. . . . ... .. . . . . . ... ... . .... . ......... . ........ . .. . .. ... . .. .. . .. ... . .. . ............. . .. . .... . ... . .. ...3 0 2.3 搭建Spark 运行集群..... . .…….. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 I x I 图解Spark :核心技术与案例实战 第3 章 2.4 2.5 2.3.1 2.3.2 2.3.3 2.3.4 修改配置文件. ....... .…... ... . ........... .. ... .. ... . .... ... ................... . ..... . .......... . ........ . ...................引 启动Spa此.. . ....... .. .. . .. ... ..... ................. . . . . ... . ... .... .. . ......... .. ........ . .......................................刀 验证启动. ...... ... .... .. .. . ... ... .. . .......... .. .. ... ... ... . .. .. ... . ... .. .... . .. .. ... . .... .... .. . .. ...... ... .... .. ... .. ... .. . . . ..日 第一个实例.................... .. . ........... . .... . ........ . ... . ... . ............... . .... . ........ . ...... . .... . ..... .. ......... ..” 搭建Spark 实战开发环境.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 5 2.4. l 2.4.2 2.4.3 CentOS 中部署IDEA ... .... ............. ......... ............. ......................................................... .. 36 使用IDEA 开发程序..... . .. .. .. ... . .. ... . ... ... . ... .. ... .... . ... .. ... ... ... .. ..... . ...... .. .... . .... . .......... .. ........幻 使用IDEA 阅读源代码.. ...... .. . ... .. .. .. . ..... .. .. ... ..... .... ........ . .... . ..... .. ......... .. .... .. .. ...... .. ...... ..42 小结.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 7 第二篇核心篇 Spark 编程模型.. . . . • . . . . . . . . . . . • . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 8 3.1 RDD 概述.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.2 3.3 3.4 3.5 3 .1.1 3.1.2 3.1.3 背景....... .. ............. ... .. . ... . .. ............ . . ....... ... .. .. .... . .. .. ... .. ... .. .. ... .. .. .... . . . .. .... .. .. ..... ... . . .... ..... ...48 RDD 简介. .. . ... .. .. . .. .. ... . .. ... .. . ... . .. ... . .. .... . ... .. .. . .... .. . . . . .... . ... .. ....... ... .... .. ... .. .... .. ..... . ......... . . . .的 RDD 的类型. ..... . ............................................................................................................” RDD 的实现..................................... ...........................................................................引 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 作业调度. . .. .. ... .. . .. . ..……... . ....... . ... . ... . ...... . ...... . ... .. .. ... ... . .. .... . ... . ....... . .............. . . ... .... ..... ...51 解析器集成..... . ... . .. .. ...... . .... . ..... ... ...... ... ..... . .... ... ....... . ..... . ............ ... .......... . ................ . ....但 内存管理........…·.... .. .. . .. .. .. ... . . . . .. .. ...... . .... .. ....... .. ........... . ......... . ................. . .....................幻 检查点支持...... .. .. .. ……….. . .... .. .....……........… .....….. ... ..….. .. .. .. .... ... .. ... ....... .. …............ ...54 多用户管理.........… . ..... ... . . ......... . .. .. .. . .. ... ... ... ... . ... . .. ... ........ . ... . .......... . . . .... . ...... . ...... . ........5 4 编程接口..................................... . ............................................................................... 5 5 3.3. l 3.3 ~2 3.3.3 3.3.4 3.3.5 RDD 分区( Partitions) RDD 首选位置 RDD 依赖关系 RDD 分区计算 RDD 分区函数 ( PreferredLocations) (Dependencies) (Iterator) (Partitioner) ....... 55 .. ......... .... ...... ........... ...... ........ ......... 56 ..... 56 ..... 58 ...... ....... ....... ........... 58 创建操作....... ..…………………………………………………………………… … ………………………” 3.4.1 3.4.2 并行化集合创建操作....………………………………… …………… ……………………………………·” 外部存储创建操作............ ... . . ... . .. ..... ... ........ ... ....... . .. .. ... . . .. ... .. ............. . . . . ... .. .. ..... . ........刷 转换操作. • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • 6 3 3.5.1 基础转换操作................ . ..... ... .. .. ... .................... . ............................................................63 3.6 3.7 3.8 第4 章 控制操作 行动操作 3.5.2 3. 7 .1 3.7.2 目录| XI 键值转换操作... ...... . ... ....… .. . . . ... . .. .. . . .. .. .. . .. … …… … …….......……….. . ....….................... . ....70 …………………………………………………………................................................... 77 ……………………………………………………......................................................... 80 集合标量行动操作. .. . . .….. .. .. .. .. . ... .. … .... .. .. .. .. .. .. ... . .. .. .. .. . .. ... . .. .. .. .. .... . . . ..... .. ... . .. . .. .. .. .. .....80 存储行动操作. ..... . . . ........ .. ... . .. .. .. .. .. .. .. .. . . .. . ... . ... . ....... . ... . ... . .. .. ............................... . .........84 小结.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 7 Spark 核心原理. ......……......... .. ... . .......……………………………………………………………………··” 4.1 4.2 4.3 4.4 4.5 4.6 消息通信原理…… …………………………………………………………………………………………·” 4.1.1 4.1.2 4.1 .3 AU -- A“丁 AYAYAY 信 构信通 架通息 营息肖, , , 通消时 息动行 消启运 LEALKALK VAV 且V且 narnaynar n、unδ 们δ 作业执行原理..... ... ... ... ............ .. ..... . . ....... . ......... . ......... ..... ..... ...... .................. . ......... . .1 02 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 概述. ... .. .. . . .. . .. .. .. .. . .... . ... . . .. ... ..... . ... . ........... .. ...... . ...…. . .. .. .. .. .. . ...…............ . .. . .. .. ... . .. . .. ... ... 102 提交作业.. .. . .. .. . ... .. ... . . ... .. . .. . . ... . .. ... . . ...... . ... . ... . ... . .. ... . .. ... . .. .. . ... . ... . ... . ...... .. .. .. . ..... ... . ........1 04 划分调度阶段.. ... . . . . . .. . .... . .. . ... .. .............. .. ... .. .. . ... .. . .. . .... . . ... .. .. . ... . . . .. ... .... . . ... . . . . .. .. .. .. . .. .. . 1 06 才是交调度阶段. ... .. .... . ... .. .. . ... .. ... .. . ... …... . .. ...... .. ... . .. . ..…...... . ... . ... . .. .. . .. .. . . ... .... . . . . .. .. .. ... . . . 109 才是交任务. ... .. ....... .. .. . ..... . ... . .. . ... . ... . ... .. . .... ....... .. .. . ... . .. .. ...... .. . .. .. ... .. . ... ..... . .... ... ... .. .. . ... . .. . 112 执行任务. . ..... . ...... .. .. . ..... ... . .......... . . .. . ... . .. . .... . ... .. ...... .. . .. ................. . ........... . .......... . ....... 11 7 获取执行结果. ....... .. ....... ... . . .. ... .. . ... . . .. .. .. . .. ........ . ..... .. ....... .. . .. ........ ..... . . .. .. .. .. .. ...... .. .. . ... 119 调度算法................................................................................... ..... ....... .. ....... . ........... 122 4.3. l 4.3.2 4.3.3 应用程序之间. ... . ...... . . .... . .... . .. .. . . . . . .. . ... . ... . .. .. . ... . ....... . ... ... . . ... . ... . .. .. . . . . . . .. . . ... ... . . . .. . ... . ... . . 12 2 作业及调度阶段之间.. ... . ... . ... . .. .. ... . ... . ... ..... .. ... ... . . . ....... . . .. . ... ... . .... . ... . ... . . .... . . . . .. . ... . . ..... 12 6 任务之间. . . .. .. ... .. .. .... .………….. . ............................... . . .. . .. . . .......... ...... ..... .. .. .. .. . .... .. ....... . . 130 容错及HA................................. ......... ... .................... ............. ...... ............. ................. 13 6 4.4.1 4.4.2 4.4.3 Executor 异常. .. .. .... .. ... ... . .. ... .. .. . ... .. .. ...... .. .. .. .. .. .......... . . .. . ........... . .......... . .. ....... . . .......... . . 136 Worker 异常. ' ....…............... .................…... .... ............ ........ .......... ........................... ...... 137 Master 异常... .. ... .. ...... . .... .... . ...... .. .......... . ....... . . ............................ .. .............. . ...... . . .. . ..... 13 8 监控管理......…....... . ......................... . .... . ...... . ................................... . .. .... .............. .... . 13 9 4.5.1 4.5.2 4.5.3 UI 监控. ... . . .. . .…. . ... .. … ... . . ..….. . ... . ... . .. .............. .. .. ...... .. ....... . ......... .. ... . . ... .. . . . . .. . .. .. . ...... . .. 139 Metrics ................. .................................................... ........ .............................................. 150 REST ........…...........…...... ....…….. .... ............................ .................……........……............. 152 实例演示..... . ...... . .... .... . . . ... . ...... .. . . . . . . . .. .... ... .. . . ...... .... .. .. . ..... . . ... . ... .. . ...... . ..................... 15 4 4.6.1 计算年降水实例...... . .. …. .. . .. .. .. ... . ... . . . . . .. . . . . . . . ... .. . ....... .. ... . . .... . .. . .. ... . .. . . . ... .. . . . ... . . . . . . ... .. ... 154 XII l 图解Spark :核心技术与案例实战 4.7 第5 章 4.6.2 HA 配置实例....................... . . . ................ .. .. .. .. . .. ...... .. .. ... .. .. . .... ... .. ..... .... ... .. ... ............ ... 15 7 小结.. . ................. .................. ........................... . ...... . ............. . ......................... . .... . .. . . .. 160 Spark 存储原理............…....... … ..... . . . ..... ... ........ . .. . . .. .... ... . ... .... .. . .. . ... . .. . ..... . . ........ . . . ... . ........ 161 5.1 存储分析........... .. ..... ........... ..... ......................... ....... ........... . ...................................... 161 5.2 5.3 5.4 5.5 5.6 第6 章 5 .1.1 5.1.2 5.1.3 5.1.4 5.1.5 整体架构... .. . .. .. .. ... ...... .. .. . .. . . .... . ... . .. .. ... .. .. ... . . .. .. .. .. . . . ... .. .. ... ... ... .. .... ... .. ... .. .... .. .. ............. 161 存储级别.. .. ................... .. .............. .. ... . ... .. ... . .... .. .. .. .. .. .... .. .... . .. .. ... ... ... ... .. ............. .. .... . . . 167 RDD 存储调用. . . . .. . ...... ... . . ... .. .. ...... . . . ... . ... . ..... . .. .. ... . ... .. ... .. .... . .... .. ... . .... .. ..... . ..... .... ..... . . . 168 读数据过程... .. . ... . ... .. . . ………. . ... .. .. .. .. .. ... .. ... . .. ... ... . .... . ... .. ... . . . .. ... .. . ..... . ..... .. ..... . ............. l 7 0 写数据过程..................................……........ .… . .. .. .. ... .. ... . ..... . ... .. .. ... .... . ...... . .... .... . … ... . ... 177 Shuffle 分析... .. . . ........ . ...... . . . ...................................... .. ......................................... .. .. . . 186 5.2.1 5.2.2 5.2.3 乐V 瓦U 句3 0000AV J 作作 。来。来 介写读 简的的 hmhemhem e σδn 飞unδ 序列化和压缩..... .... ... ............. .......................... ....................................... .............. .... 2 0 0 5.3.1 5.3.2 序列化.. .......................... .. .. . ... . .... . . ... .. ... .. .. ... .. . . ........ . ...... . .. .. ....... ... ......... ... .. ... ...... .. ... .. .2 0 0 压缩. . . .. . .. .. .. . ... .. .. . .......................................................... . .... . ............. . ... . .. .. ..... .. ..... .. . ... ..2 0 1 共享变量....................................................................................................................202 5.4.1 5.4.2 广播变量. . ... . .. .. .. .……… .. .. .. . ... ... . ... .. .. . ........ .. .. .. ... .. ... . ... . .... .. ... .. .. .... ... .. .... .. .. .... ..... .........2 0 2 累力口器.......................................................... ... ...... .. ....... .. ... .. ......... .. ... .... ... .... . ..... . ........203 实例演示....................................... . ............................... . ......... . .................................. 2 0 4 小结. ... .....…… . .... . . ... ...... . ........................ . ......................... . .................................... . .... 2 0 8 Spark 运行架构.......................................................... . ......................... . .............................2 09 6.1 运行架构总体介绍.... ............. ....... . ............................... . .. .... ................................... . ..20 9 6.2 6.3 6.4 6.1.1 6.1.2 总体介绍......... . .... . .......................... .. ... ... . .... . ... .. . ... .. ... . .... .. .. .. ..... . ... .. .. .. .... ... ... .... ... ..... ..2 0 9 重妥类介绍. .. ... . ....... . ... . ................... . .... .. .... . .. .. .... . . .... . . .... . ... .. .... . ..... . .. ... ... ... ... . . .. ... ..... . .2 l 0 本地( Local )运行模式.............................................. .. .............. .... ...... .. . ........ . .. . .. ..211 6.2. l 6.2.2 运行模式介绍...... .. .. . ...... … . . ............. .. ... .. ... .. . .. .. ... .. .. .. ... . ... .. .... . ... .. .... . .... . .... ... ..... . .... .. ..211 实现原理.. .. . . . . .. .. . ....................... . .. . ........... . ... . ... . ....... .. . . .. . .. . .... ... . .... ... .. ......... .. .. . . .. ....... . 2 日 伪分布( Local-Cluster )运行模式.............................. . .. . ............ ... ................ . .... . . .. .215 6.3.1 6.3.2 运行模式介绍. . . . . ........ . .. .. ... .... .. .. ............... . .. . .................... . .... .. ... .. ... .. .... . .... . ...... . ...... ...2 15 实现原理... . ... . .. .. ... .. .. .. . ... . ... . . ... . . . . .. ... .. . .. . ....... .. . . .... . ... . . . .. .. .... . . .. .............. .. ......... .... .. . . . . .2 1 6 独立( Standalone )运行模式. ... ... ........….......….......…….. . .............……............... . . . . .218 第7 章 6.5 '6.6 6.7 6.8 6.4.1 6.4.2 6.5.1 6.5.2 6.5.3 6.5.4 6.5.5 6.5.6 自录| 运行模式介绍...... .. ..... .. .. .. .. ... .. .. .. . .. . ... . ... . .. .. ... . .. .......................... . ... . .. . ... . .......... . ... . ..... .21 8 实现原理. ..... .. ..... .... .... .. ... . .. .. ... . ...... . ... . .. .. ... . .. ... . .…… . ... . ...…. . .. .. .…… …· ......... … ............219 y成N 运行框架.. .... . .. .... ... . ....... . .. ... . .. .. .. . ... .. .. . ... . .... . ..................... . ... . .. . ... .. ..... . .. .. .. . .. .. .22 0 YARN-Client 运行模式介绍.. .. .. .. . … …. ... . . .... . ... .. ..... .. ... . . ... .. . .. .. ... . ... . . .. .. ... . .. .. . .......... . .221 YARN-Client 运行模式实现原理. ... . ... . .. . .........…………………........ . ..…..... .. ..… ..... . .. .. .223 YARN”Cluster 运行模式介绍.... .. ...... .. ... . .. . ... .. . ... .. .. . ... . .. . ... . ... . .. .. ... . .. .. .. . ... . .. .. .. .. . .. . ... ..22 7 YARN-Cluster 运行模式实现原理....... . .. . ... . ... . .. .. .. . ... . ... . ... . ........................................22 9 YARN-Client 与YARN-Cluster 对比. . .... . .. .. .. .. .. . ... . .. .. ...... .. .. .. .. .. .. .. .. .. .. . ... .. . ... . . .. .. .. .. .. .23 2 Me sos 运行模式.................. ...... ... ....................... . ..... .. .... . . ... ... ... ..... ... . . .... ... .. . . . ..........2 3 3 6.6.1 6.6.2 6.6.3 6.6.4 6.6.5 6.6.6 Mesos 介绍......... . ..................................... .. .. .. .. .. .. .. .. . .. ... . .. .. . ... . .... . .. . .................. . .. .. .. . ..2 3 3 粗粒度运行模式介绍.. .. . ... .. ... . ... .. .. .. ... . ... . .. . .. ... .. ... . . .. ........ . ...... . ...... . ... . .. .. .. .. .. . .. .. .. . .. .. ..2 3 4 粗粒度实现原理.................................................................. . ............................. .. .........2 3 6 细粒度运行模式介绍.. . ............ . ... . .... . .. .. . .... . .. . ... ... . . ... . ... . ... . .. .. .. .. .. .. . .... ... .... ........ . . . . . ... .2 3 9 细粒度实现原理...... .. .. .. ... . ... .. ... . .. .. ... . ..... ..... . . ....... . .. ... . .. ........... . .. . ...............................2 4 0 Mesos 粗粒度和Mesos 细粒度对比.... . ...... . ................................................................2 4 3 实例演示........ ............................... .. ...... .... .... .... .. ....... ... ... ... .... ... . . .... ... .... ... ... .. ........ . ..24 3 6.7.1 6.7.2 6.7.3 独立运行模式实例....................................... .. .. ... . . .... . ... . .. . ... . ... . ...................................2 4 3 YARN-Client 实仔•J ...……………………………….......................................................... ....... 24 7 YARN-Cluster 实例.. ... . .... . .. .. ... . ... .. . . . . .. .. .. .. . . . . . ... .. .. . ... . ... .. .. . ... . ... ... . . .. .. .. .. . ... . ........... . ... .2 5 0 小结.. ...... .... ... .................... ........ ... ............ . ....................... .. ........ .. .... .. ....... .. ............ . ..2 5 3 第三篇组件篇 Spark SQL ..………............................................................................................................... 2 5 5 7 .1 Spark SQL 简介........................ .. .......................... . ...... ... ... .... .... ..... .. .... .... ..... .. ... ... .. ...2 5 5 7.2 7.3 7. I. I 7.1 .2 Spark SQL 发展历史.. .. ... .. ... . ..... . . .. .. .. ... . ....... .. .................. . ....... . .............. . ... . ...... . .. .. .. ..2 5 5 DataFrame/Dataset 介绍............... . ... .. ...... .. .. .. .. . .... . ... . ... . ..............................................2 5 8 Spark SQL 运行原理........ .............. .. . . .. .... .... .... ... . . .... .. . . ... . . .. .................... ... .... ... ...... . .2 61 7.2. l 通用SQL 执行原理. .. .... . ..…....... . ... .. …·.. . ... .. .. .. .. ... ...... ... .. ... . ... . .. .. ..... ... . .. .. . ... . ... .. .. . ... . ..约1 7.2.2 7.2.3 7.2.4 SparkSQL 运行架构.. .... . . . . ... ….. .. ... .. .. .. .. .. .. . ... .. . .. ... .. .. .. . . . .. . .. .. .. . .. .. . ... ... . . ... . ... . ....... . ... . ..2 6 2 SQLContext 运行原理分析...... ... .... .... ... . ... . . ................ . ........ . .. . ... . ... . ...... . ........... . ...... ..2 65 HiveContext 介绍........ ... ... . .. ... .. . ... .. . ... ... . .. ...... . ... .. .. .. ... . ... . .. .. .. . ... ... . .. .. .. . ... . ... . .. .. ... . ... . ...2 7 6 使用Hive-Console ................ .......... ............................... ..... ... ................. ... ................ 278 XIII XIV l 图解Spark :核心技术与案例实战 第8 章 7.4 7.5 7.6 7.7 7.8 7 .3.1 编译Hive-Conso le . … . .. . ....………......………....... . ......….......…..... . .... . ......……….. .. ....…....278 7.3.2 查看执行计划. .. .. ....…… … . . .....… … …….. . ......................... . ......... .. ..................................2 8 0 7.3.3 应用Hive-Console. ….. . .. . . . .. .. . ... ... . .. .... ... ... . ... . .. .. ... . ......... . ......... .... ..... .. . .. ... .. ... .. ............2 8 I 使用SQLConsole ............ ............ ........ .. ...... .... .. .......... ... .............. ............. ................. 284 7.4.1 启动HDFS 和Spark Shell ......... .............. ..... ........ ............................... ........................ 284 7.4.2 与RDD 交互操作.. . ... .. . .. ....... . ... ... .. . ... . .... .. .. .. .. .. ... .. . . . ... .. .... . . .. . .... ..... . ... .. ... ... ... .... .... .....284 7.4.3 读取JSON 格式数据.. . ... .. .. ....... .. .. . ..... . ... . ...................... . ...................... . ......................2 8 7 7.4.4 读取Parquet 格式数据... .. .. ... . .. .. ... .. ... .. .. ... . .. ... . .... . .... . ............................ . .....................2 8 8 7.4.5 缓存演示. ... . ....... .. .. ... . .. .. .. .. .. .. .. . .... . ... .. .. ... ... .. .. .. . . . ... ... . .. .... . ......... . ..... .. ... . ......................2 8 9 7.4.6 DSL 演示... . .. .. ... . .....……………........................................... . .. .. .......... .. ........... .. . .. .......... 2 9 0 使用Spark SQL CLI .............................................. .... .......... ....... ..... ........ .............. .... 290 7.5.1 7.5.2 配置并启动Spark SQL CLI ...………………………………………………………………………….. 291 实占戈Spark SQL CLI ....... .... .... ..... ...................................... ..... ................. ..................... 292 使用Thrift Server ................................................................................ .. ...... ...... ......... 293 7 .6.1 7.6.2 7.6.3 7.6.4 自己置并启动Thri位Server ....... ..... .... ................... ..... ..... .......... ............. .............. ........... 293 基本操作. .. . ... . ........ . ... . ... . ... . ... .. .. .. .. ........ . .... . .. .. ... .. ... ... .. .. ... ... .. ... .. ..... ... .. . . . ..... .. ... . ... ... ...2 9 5 交易数据实例. .. ... . .. .. .. ... . ... . ... .. . ... .. .. ... .. ... . ... . ............... . .... . ................ . ..........................2 9 6 使用IDEA 开发实例.. ... . ...…. . .... . .. .. ... ... .. .. . ..... . ... ... .. .. ... . .... .. ... .... . .. .. . . ... .. . .. ... . . . ..... . . .. ...2 9 8 实例演示. .... ...... ... ..... . ......... .. ...... .. ..................... . ........... . . . . .. ...................... . . . ..... . .......2 99 销售数据分类实例. ... . 7. 7 .1 ... .. . .. ... ... .. . .. . ..... . ... . ... . ................................................................2 99 7.7.2 网店销售数据统计. ........ . .. . .... . ... . ... .. . ..... . .. . .............. . .... .. ... . .... ... .. ... .... ... .... .... ... ....... ... .3 0 3 小结............ . ........ . ...... ... ..... ... ... .. . . ... . ... . . ... . ... ... . . . . ... . . .... . . . . ..... ... . ....... . . . . . . . . .. ..... . ...... . ...3 0 6 Spark Streaming ............................. ............... ............... .. .............. ...... .............................. 308 8.1 Spark S位earning 简介................................ .. ............. . .... . . ....... . . .. . ....... . . .. . ... . ......... .. .. ..3 08 8.2 8.3 8.1.1 8. 1.2 术语定义. ..................................................................... . ................. . .... . .......... . . . ....... . ....3 09 Spark Streaming 特点. ........ . .. .. .. ... .. ... .. ... .. .... . .. .. ... . .... . .. ... ... .... ... .... .. ... . .. ... .... .... ... ...... ...312 Spark S位earning 编程模型... . ....................... . .......... . ...... ............ . .... ........ ............ . .... .. 314 8.2.1 8.2.2 DS甘earn 的输入源.......... . ................. .. ............... ... . .. ... .. ... ... ... .. ................ .. ... .. ..............314 DStream 的操作...... . ....................... .. ...... .. .... . . .. ..... ... ............. .... ................... .... ............315 Spark Streaming 运行架构........ .. ............ .. . .... ................. . ............... . ............... . ... . ...... 3 1 9 8.3.1 8.3.2 8.3.3 运行架构. . . .. ... . ............... .. .. .. ........... ... ................. ... .......... .. ................ . . .. ....... ... .............31 9 消息通信.. .. .. ........... . .. .. ...... . ............. . .. .. .. .. ......... .. .................. .. .. .. .... .. ... .. ....... .. .............32 0 Receiver 分发. .. . ... . .. . . . ... . .. .. . . . . . ........ ..... ... .. ... . .......... . .... . ............ . ..... ... ... .. ......................3 23 第9 章 8.4 8.5 8.6 目录| 8.3 .4 容错性.... . .....…...... .…… ... .. . …… …… ……… .. ... . . …· · … . .. .. .. .. .. .. .. . . .......... .. .. . .. ..... . ... .. . . ...... . . 3 2 9 Spark S仕earning 运行原理·· · · · · · · · · · · · · · . · . · · .. · .................................................................. 3 3 I 8.4.1 启动流处理引擎... ... .... .. .. ... . ... . ...... .. .. .. . ... .. . .. .. .................. . ... . .. . .. . .... . ......... . ... . . ...... . ......3 3 I 8.4.2 8.4.3 接收及存储流数据.... . .... . . ........ . ... . .........…….. .. ....... . .. .. . ... .. . . .. ... . .. .. .. . .... ........ . . .. ... . .. . .. .. 3 3 4 数据处理. ... .. ... ... . . . .............. . .. .. ....... . .... . . .. .. .. .. .. . ....... .. .. . .. . ........... . . ... .. .. . .. . .....................3 41 实例演示..... .. .... . ...…............. . ...............….... .. ............ .... ... .. ...... . ...... . .........................34 6 8.5.1 8.5.2 8.5.3 流数据模拟器.. ... .... .. .... . ... .. .. .. . .... .. . .. .. ... . .. .. .. .......... . .. . ........... . .. .. . ... . ... . .. . ... . .. . .. .. .. . ...... ..3 4 6 销售数据统计实例............. . ... .. . . ............ . ... .. . .......... . .. .. .. .. .. . ....... . .. .. .. . .. ... . .. .. .. .. ..... .. .. . ..3 4 8 Spark S甘earning+Kafka 实例.... . .............................. . .. .. .. . ... . ............. ... .. ......... .. ...... . .. .. 3 5 I 小结.......... .... ..... ....... . . . ................... . . . ...... .. .................... .. ........................................... 3 5 6 Spark ML Ii b ........................................................................................................................ 3 s 8 9.1 Spark MLlib 简介............................. .... ... .. ....... ... .......... ... ...... ... .................. . .... . .........3 5 8 9 .1.1 Spark MLlib 介绍...... . . . .. ... .. .. . .. ............ . .. . .. .... . .. . .......... .. ...... ..... ... . ......... .. . ... . ... . . ... .. .... .3 5 8 9.2 9.3 9.4 9.5 9.6 9.7 9.1.2 9.1.3 9. 1.4 Spark MLlib 数据类型.. .. .. ... .. .. .. .. .. .. . ... ... . ... . .. .. . ... . ... . ....... . ....... . .. .. ......... . .......... . ... . .. . ....3 60 Spark MLlib 基本统计方法... .. .. .. .. .. . ... .. .. .. .. ... . . ....... . .............. . .. ... .. . ... . .................... . ... .3 6 5 预言模型标记语言... .. .. ... . .. .. ... .. .. .. .. .. .. .. . ... ... ..... .. .. ............. . ... .. ......... .. ... . .......... . .. . ... . .. .3 6 9 线性模型.......................................... . ......................................................................... 3 7 0 9.2.1 9.2.2 9.2.3 9.2.4 9.2.5 9.2.6 数学公式... ... .. . ... .. ..... . . … . .. ... ... .. . ... ..….. . .. .. . ... ..... ... .. . ... . .. .. .. .. .. . ... ... ..... . ... . . . . .. .. . .. .. ... .......3 7 0 线性回归.... . ... .. . .. . . .. .. .... . ........... . ... . ... . ....... . ........ . ...... . ....................... . .. .. .. . ... . ... . ... . ... . .. ..3 7 I 线性支持向量机. .. .. ... . ... .. .. ... .. .. .. .. .. .. . ... .. ... . .. .. .. . ............... . .......... .. .. . ................... . ........3 7 2 逻辑回归.... . ... . ... . . . .. .. .. . .. .… .. ... .. .. .. .. .. ... . .. ... . ... . .. . ... .. . ... .. .. .. . .. .. .. ... . .. .. .. ... . . .. .. ... . .. .. . .. .. .. . ..3 7 3 线性最,j 、二乘法、Lasso 和岭回归........... . .... . .. .. . ... . .. .. .. . ... .. .. .. ... . . .. .. .. ...... . ....... . ..... . ...3 7 3 流式线性回归.. ... . . . . … … ……….. . ... . ... ... . . ... .. ... . ... . . .. .. .. ... .. . ... . .. ... . .. ......... .. .......... . .. . .........3 7 3 决策树.... ...... ..... ....... . . ......... ... . . ....... .... ... ..... ... .............. . ............................................. 3 7 4 决策模型组合.............. ... .................. ..... .... . . . .............. .. .... ..... ... . ....... .. .......................3 7 5 9.4.1 9.4.2 随机森林.. . . .. .. ......... . ....... . .. .. .. . .. ... .. .. .............................. .. . .......................... . ... . ... . .. .. .. . ..3 7 6 梯度提升决策树.... . ......... . ... ... ...... . ... . ... . ... . ... . ... . ... .. .. . .. .. .. ... . .. .. .. .. ... . ... . .................... .. ... 3 7 7 朴素贝叶斯............................ ...... .. ...... .... .... .... ... ...... .. .... .................................. . ..... ...3 77 协同过滤. ...... ... ....................... .... .... .... .... ................ . ..... .. ................................... .. ......3 7 8 聚类...... ......... ..................... . . . ........ . ........ . ..... . ................. . ..... .... ............ . .....................3 8 0 9 .7. I 9.7.2 9.7.3 K-means .... .............................. ............................ ..... .................................. .... ............... 380 高其斤混合... . .... . ….............. .. .. ..... . ...... . . . . .. ... ...... ... ...... ... . … . .. .. .. .. ... . . ... . .. .. ..…..... . .. ... . . .... . .3 82 快速迭代聚类. ....... .. . ... .. ... .. . ... .. .. ... .. . ... . ... .. . ... . .. .. .. ... . ... .. .............. . ...... . ........... . ... . ...... .. .3 84 xv XVI |图解Spark :核心技术与案例实战 第10 章 9.8 9.9 9.10 9.11 9.12 9.7.4 LDA ..….... ...................................................................................................................... 3 84 9.7.5 二分K-means ...... .... ........ ............. .... ...... ....... ............................. ............ ............. .... ..... 385 9.7.6 流式K-means ..................................................... .............. ................................... ......... 386 降维..... 386 9.8.1 奇异值分解降维.. ... . . . . . ...…........ . …...... ... .. . ... . ... .. ... .. .. .. . . .... . .. . ....... . ..... ... . . . .. ... .. .. ...... . . .. .3 8 6 9.8.2 主成分分析降维.. .. .. .. .. . ... . .... . ... . ... . ... . .... .. .. ... .. .. . .... . .... . ...... . ..... . ............................. . .... . .3 8 7 特征提取和变换...............…. ....... .. ...... .. .. . ...... . . ... . . .... ..... .. . . .. ... . ..... ........ . .. ..... .. ... ... . .. . 3 8 8 9.9.1 9.9.2 9.9.3 9.9.4 词频一逆文档频率. ... . .... . .. . ... . .... . ....... . ........ .. ... . ...........................................................3 8 8 词向量化工具. .... . .. .. .. .. ... . ... . .. .. .. .. ... .. .. . ... ... .. .. ... ... .. . .... .. .... . ... .. .... . ........... . .....................3 8 9 标准化. .. .. .. . .. .. .. ... . .. .. .. . .... .. .. . ...... . ................................................................. . .............. ..3 9 0 范数化...... .. .. ... . ................. . . . .... . .. .. ... . ........ . ........ . ........ . ......... . ...................... ... ..... . . ... ....3 9 0 频繁模式挖掘.. .... ... . …...... .……. . .. .. …. . . ... ........ .. ........... . ............... . . . ..... . ... . .. . .... . ..... . .3 91 9.10.1 9.10.2 9.10.3 频繁模式增长. . .. .. .. .. .. ... . . .... .. . .. ... . ... . .... . ... . .... .. .. ..... . .. .. .. . .... . ..... . ............................ . .....3 91 关联规则挖掘.. .. .. .. .. .. .. .. . . . . ... . . ..... . . . . .. . .. ... ... . ............. . ..... . .. . . . ... . ........................ . ..... ....” l PrefixSpan ............………................. ......... ......... .......... ...... ..... ......... ...................... ....... 3 91 实例演示... .. . . ... ……. .. ... … …….. ... .… … ….... ..… …. .. . ...… ….... ..…. ... .. .…… . . ......………….392 9.11 .l 9 .11.2 K-means 聚类算法实例....... . ....... . ......... . .. . ….. . ... . ..…… … ... .. ...…... . .... .. ..... .. ...… .. ........3 92 手机短信分类实例................................................................................................. . ...3 9 6 小结........................... . ................. . ...... .... ........ .. ......... ...... .. . . .. . ................... . ..............40 1 Spark GraphX .........................................…………...............….........……………..... .. ..…….... 402 10.1 10.2 10.3 10.4 GraphX 介绍..... ... ...... . ....... ... .... . . ... .... ..... . . . . .. .. . .. ....... ......... ...... . .. . .. ...... ................... . .402 10.1.1 10.1.2 10.1.3 图计算.. . ... . ..… . . . . . . . ... .. .. . ... . ........ . ... . .... . .. . . . . . . . . .... . ........ .... .. .. .. .... .. ... .. ..... . ... . ..................40 GraphX 介绍. .. .. ... . … . ... . .. . .... . .... . ... . ............. .. . .. ............. . .................. . .. . ...... . ................40 发展历程.........…........................... . ............. . ... . .................................................. . .... ....40 2 3 4 GraphX 实现分析..... . ........ . ....................................... . ...................... . .. . ............... .. . ..40 5 10.2.1 10.2.2 10.2.3 10.2.4 GraphX 图数据模型........ .. .. .. . . . .. ... .. . …… . . ... ..…. .. .. .. .. ... .. ...... . ..... .. ... .. .. .. ... .. ...... .. ....... .40 6 GraphX 图数据存储...................................................................................... .... ...... ...40 8 GraphX 图切分策咯.. .. . ... .. .. .. . ... .. .... .. . . ...... .. .. .. . ... . ... . .... .. ..... . ..... .. .... .. .. ... .. .. .... . ........ . ..41 0 GraphX 图才桑作... . .. .. ... . .. .. ...... . .... .. ..... . ............ . .. .. . ..... . . .. . . ..... .. . . .. .... ... . ....... . ............... .412 实例演示........... . ...... .. ....... . .... . . . ................. . . . ............. .. ............. . ..............................418 10.3.1 10.3.2 图例演示. ........... . ....... . ...... . .... . ... .. ..................... .. ... . ......... . ..... ...... .. ... .. .. .. ............... ... ..418 社区发现演示. .. . ... .. .. .. .. . ... .. .. . ..... . ...... ... .. . .. . ...... .. . ... ... . .... . ...... . . .... .. ... .. .. .. .. .. ................4 2 5 小结.. . . . ..… ... .... … …… . ........……. . ....… . ......... . ....…··… .. . .. ....... . . ……… … … . .. .... .…… . .. ...429 第11 章 第12 章 目录| SparkR ... ..............………................................................................................................... 430 11.1 11 .2 11 .3 11.4 11.5 概述.............. . .... ... .. . . . .............................................. . ..................... . ............... . ..... . ....4 3 0 11 .1.1 11 .1.2 R 语言介绍..... .. .. .. .. .. .... .. .. .. ... .. ... . .. . ... .. .. .. .. .. ... . .. . ... ... . ... . .. ... . ........... . . .. ...... .. .. . .. .. .. .. .. . ..4 3 0 SparkR 介绍... .... . . ... ... ... .. .. .. .. ... .. . ... .. ...... . ................... . ........ . ... . . . .... . ... . .. . ....... . ... . ...... . .础l SparkR 与DataFrame ...................................................................................... .... ..... 4 3 2 11.2. l 11 .2.2 DataFrames 介绍............................ .. ..... .. ....... . ....... .. .. .. . .. ...... .. . . . . .. . ... . .. .. ....... . . ... .. . ... . ..43 2 与DataFrame 的相关操作........ ......... ... ....... . .. .. .. .. .. .. .. .. .. . .. .. .. .. ... ...... . .. .. ........ ... ... . . ... . .434 编译安装SparkR.................................................................................................. .... 435 11 .3 .1 11 .3.2 11 .3 .3 11 .3.4 编译安装R 语言..... . ......................................................................................... . ...... .. .4 3 安装SparkR 运行环境.............. .. ...... .. .. .. .. . .... . ....... . .. .. .. .. .. .. . ... .. .. ... . . ....... .. .. .. . .. ..........43 安装SparkR ...... .................... ......... .... .... ... ..... ............. ....... .... ........ .... ........ .... .... ......... 43 启动并验证安装...... . .... . ....... . .... .. .. . ................ .. . .. ... . .. .. ... . ...... .. ....... . .. .. . ... . .. .. .. .. . ... . ... . .43 5 7 8 9 实例演示...... ...... ....... ..... . . ..... ..... ..... . . . . . ... . .. . ........ . ...... ... ..... ... ..... ... ... . ................ .. ......440 小结.......................... .. .. . .... . ... ... ....... . ......... .. ..... .... ..... .... .... ..... ... ... ..... .. .... ... .... ... .... ...444 Alluxio .................….........…...........................………………………….. ... ....…..... ..... ................ 44 5 12.1 12.2 12.3 12.4 12.5 Alluxio 简介........................ . .......... .. ........ ... .. .. . ........ .............. . ......... . ..................... . .44 5 12.1.1 12.1.2 12. 1.3 Alluxio 介绍... . ......... .. ... . ... .. .. . . . . .. ... .. .. ... . .. .. ... . ... . ... .. .. . ... .. . ... .. . .... . .. . ... ..... ... . ... . .. ... . .. .....44 5 Alluxio 系统架构......... . .... . ... . ........ . ... .. .. . ... . ............ . ... . .. .. ....... . ....... . ....... . ... . .. .. .. .. .. ... . .44 6 HDFS 与Alluxio..……... ......….... ........ ..... ........ .... ........ .... ............................................ 450 Alluxio 编译部署... .... . .. … . . . . ...... .. ....... . ................................... . ..... . .............. ..... .... ...4 5 1 12.2.1 12.2.2 12.2.3 编译Alluxio ........................... ............. .... ........ ........ .... .... ..... ... .... ................................ 451 单机部署Alluxio ................................................ ...... ..... ..... ... ..... ........... ................... .. 453 集群模式部署Alluxio ..…………………………...... .................................... ..... ... .... .... ...... 4 5 5 Alluxio 命令行使用.. .............. . ......................... . ................................ . ....... . ...... . .... ..4 5 7 12.3.1 12.3.2 接口说明.... . ..... .. ...... . ..... . . ............ . .. .. .......... . ........ .. ... . ... . .............. . ... . ....... .. .. .. . .. .. .. . .....45 7 接口操作示例. ... .. .. .…………………………………………………………………………………..... .459 实例演示............................. . . . .......... . ..... . ................... . .............................................46 2 12.4.1 12.4.2 12.4.3 启动环境... .. . . .. ... ...... .. .. . . ... . .. ... ...... . ... . ... . ... . ... . ... .. .. . ........ . ... . ... . ... . ... . ... . .. .. .. .. . .. .. . ... ..... . .4 6 2 Alluxio 上运行Spark.............. .................................. ............................ ............... .... ... 46 2 Alluxio 上运行MapReduce .. ..... .... .... .... ..... ... ......... ..... ....... .... .... ................................ 46 5 小结…………………………………………………………………………………………………………·“6

...展开详情
上传时间:2018-05 大小:97.36MB
热门图书