网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 Spark大数据分析
分类 教育考试-考试-计算机类
作者 刘景泽
出版社 电子工业出版社
下载
简介
作者简介
"刘景泽
全栈工程师,长期从事大数据的研发工作,拥有丰富的大数据开发经验。
曾担任多家知名企的主力研发,并负责大数据云服务组件开发。
精通Java、Scala、Python等多种编程语言,擅长大数据生态圈的研发、算法、逆向工程等技术。
为多家企业提供技术支持,并长期面向企业一线开发人员分享实战经验。
"
目录
=篇 准备
-
章 认识大数据和Spark\t2
1.1 大数据的介绍\t2
1.2 Apache Spark能做什么\t3
1.3 其他分布式数据处理框架\t4
1.4 如何使用本书\t4
?1.4.1 需要提前具备的基础\t4
?1.4.2 准备相关开发环境\t4
?1.4.3 如何学习本书\t5
-
第2章 安装与配置Spark集群\t6
2.1 下载Spark安装包\t6
2.2 检查与准备集群环境\t7
2.3 了解目前集群中已经部署的框架服务\t11
2.4 部署Spark集群\t12
?2.4.1 实例1:基于Standalone模式部署Spark集群\t12
?2.4.2 实例2:部署Spark的历史服务――Spark History Server\t16
?2.4.3 实例3:基于Standalone模式部署高可用的Master服务\t18
?2.4.4 实例4:基于YARN模式部署Spark集群\t20
?2.4.5 Standalone模式与YARN模式的特点\t22
2.5 本章小结\t23
-
第3章 个Spark程序\t24
3.1 运行个Spark程序\t24
?3.1.1 实例5:基于Standalone模式运行个Spark程序\t24
?3.1.2 实例6:基于YARN模式运行个Spark程序\t27
?3.1.3 提交Spark程序时的参数规范\t30
3.2 使用spark-shell编写并运行WordCount程序\t30
?3.2.1 实例7:启动spark-shell\t31
?3.2.2 实例8:在spark-shell中编写WordCount程序\t32
3.3 使用IDEA编写并运行WordCount程序\t34
?3.3.1 实例9:准备开发环境,并构建代码工程\t34
?3.3.2 实例10:使用IDEA编写WordCount程序\t41
?3.3.3 实例11:在IDEA中本地运行WordCount程序\t44
?3.3.4 实例12:在IDEA中远程运行WordCount程序\t46
?3.3.5 实例13:打包程序,并提交至集群运行\t48
3.4 本章小结\t49
=
第2篇 入门
-
第4章 读写分布式数据――基于Spark Core\t52
4.1 RDD的诞生\t52
4.2 进一步理解RDD\t53
?4.2.1 数据存储\t53
?4.2.2 数据分析\t55
?4.2.3 程序调度\t56
4.3 读取数据并生成RDD\t57
?4.3.1 实例14:读取普通文本数据\t58
?4.3.2 实例15:读取JSON格式的数据\t59
?4.3.3 实例16:读取CSV、TSV格式的数据\t61
?4.3.4 实例17:读取SequenceFile格式的数据\t62
?4.3.5 实例18:读取Object格式的数据\t64
?4.3.6 实例19:读取HDFS中的数据――显式调用Hadoop API\t66
?4.3.7 实例20:读取MySQL数据库中的数据\t68
4.4 保存RDD中的数据到外部存储\t70
?4.4.1 实例21:保存成普通文本文件\t70
?4.4.2 实例22:保存成JSON文件\t71
?4.4.3 实例23:保存成CSV、TSV文件\t73
?4.4.4 实例24:保存成SequenceFile文件\t74
?4.4.5 实例25:保存成Object文件\t75
?4.4.6 实例26:保存成HDFS文件――显式调用Hadoop API的方式\t76
?4.4.7 实例27:写入MySQL数据库\t78
4.5 本章小结\t80
-
第5章 处理分布式数据――基于Spark Core\t81
5.1 RDD的转换(transformations)操作――转换数据形态\t81
?5.1.1 实例28:基础转换操作\t81
?5.1.2 实例29:键值对转换操作\t103
5.2 RDD的行动(actions)操作――触发执行任务计划\t115
?5.2.1 实例30:基础行动操作\t116
?5.2.2 实例31:键值对行动操作\t125
?5.2.3 实例32:数值行动操作\t127
5.3 本章小结\t128
=
第3篇 进阶
-
第6章 RDD的不错操作\t130
6.1 缓存RDD\t130
?6.1.1 缓存RDD的基础知识\t130
?6.1.2 实例33:缓存与释放RDD\t133
6.2 RDD的检查点(Checkpoint)机制\t139
?6.2.1 了解Checkpoint机制\t139
?6.2.2 实例34:使用Checkpoint机制\t141
?6.2.3 Checkpoint机制的工作流程\t144
6.3 RDD的依赖关系\t145
?6.3.1 窄依赖(narrow dependencies)\t145
?6.3.2 宽依赖(wide/shuffle dependencies)\t148
?6.3.3 实例35:让子RDD混合依赖依赖多个父RDD\t151
?6.3.4 实例36:词频统计――总结运算过程涉及的概念\t153
6.4 累加器(Accumulator)\t155
?6.4.1 认识累加器\t155
?6.4.2 实例37:使用系统累加器1――长整数、双精度浮点数累加器\t156
?6.4.3 实例38:使用系统累加器2――集合累加器\t159
?6.4.4 实例39:自定义累加器\t160
6.5 广播(Broadcast)――将数据块缓存到所有节点\t164
?6.5.1 认识广播\t165
?6.5.2 实例40:使用广播补全数据\t165
6.6 本章小结\t168
-
第7章 用SQL语法分析结构化数据――基于Spark SQL\t169
7.1 为什么会产生Spark SQL\t169
7.2 认识DataFrame与Dataset数据类型\t170
?7.2.1 认识DataFrame\t170
?7.2.2 认识Dataset\t171
7.3 实例41:通过Dataset、DataFrame分析用户数据\t172
?7.3.1 用spark-shell编写程序\t172
?7.3.2 用IDEA编写程序\t175
7.4 不同Spark版本的操作差异\t177
?7.4.1 认识SQLContext与HiveContext\t178
?7.4.2 认识SparkSession\t178
7.5 DataFrame、Dataset的基本操作\t179
?7.5.1 DSL与SQL的语法风格\t179
?7.5.2 使用临时视图的注意事项\t181
?7.5.3 实例42:读取JSON、CSV格式的数据\t183
?7.5.4 实例43:读取Parquet格式的数据\t185
?7.5.5 实例44:读取代码中动态生成的数据\t185
?7.5.6 实例45:读取关系型数据库中的数据\t188
?7.5.7 实例46:输出Dataset、DataFrame中的数据\t189
?7.5.8 实例47:RDD、DataFrame、Dataset之间的相互转换\t192
7.6 用户自定义函数\t195
?7.6.1 实例48:实现“一进一出”的UDF\t195
?7.6.2 实例49:实现“多进一出”的UDAF\t198
?7.6.3 实例50:实现“一进多出”的UDTF\t208
7.7 集成Spark SQL与Hive\t211
?7.7.1 已经部署Hive框架\t211
?7.7.2 尚未部署Hive框架\t215
7.8 本章小结\t215
-
第8章 实时处理流式数据――基于Spark Streaming\t216
8.1 为什么会产生Spark Streaming\t216
8.2 个Spark Streaming程序\t216
?8.2.1 实例51:用spark-shell编写程序\t216
?8.2.2 实例52:用IDEA编写程序\t221
8.3 什么是DStream\t222
?8.3.1 认识DStream\t222
?8.3.2 认识DStreamGraph\t223
8.4 读取数据到DStream中\t227
?8.4.1 实例53:读取HDFS文件夹中的数据\t227
?8.4.2 实例54:读取RDD组成的数据队列\t229
?8.4.3 实例55:实时读取Flume中的数据\t230
?8.4.4 实例56:用高阶API实时读取Kafka中的数据\t235
?8.4.5 实例57:用低阶API实时读取Kafka中的数据\t242
8.5 Spark Streaming中的几个时间概念\t251
?8.5.1 批处理间隔\t251
?8.5.2 窗口时间宽度与滑动时间宽度\t252
?8.5.3 实例58:使用窗口操作,每两秒钟统计10秒内的平均温度\t254
8.6 DStream的操作总结\t259
?8.6.1 DStream的操作说明\t259
?8.6.2 实例59:直接面向DStream中的RDD进行数据分析\t261
?8.6.3 实例60:将DStream中的数据实时输出至外部存储系统\t263
?8.6.4 实例61:对Dstream进行join操作\t267
8.7 DStream中的转换分类\t269
?8.7.1 无状态转换\t269
?8.7.2 有状态转换\t270
?8.7.3 实例:用有状态转换做全局词频统计\t270
8.8 在Spark Streaming中的缓存与Checkpoint\t272
?8.8.1 认识Spark Streaming中的Checkpoint\t273
?8.8.2 实例62:使用Spark Streaming中的Checkpoint\t273
8.9 Spark Streaming中的累加器与广播变量\t276
?8.9.1 认识累加器与广播变量\t276
?8.9.2 实例63:自定义累加器,并结合无状态转换,实现实时的全局词频统计\t276
8.10 关闭Spark Streaming程序\t280
?8.10.1 关闭程序的方案\t281
?8.10.2 实例64:合理关闭一个运行中的Spark Streaming程序\t281
8.11 本章小结\t284
=
第4篇 高阶
-
第9章 实时处理流式数据――基于Structured Streaming\t286
9.1 为什么会产生Structured Streaming\t286
9.2 个Structured Streaming程序\t287
?9.2.1 实例65:用spark-shell编写程序\t287
?9.2.2 实例66:用IDEA编写程序\t289
9.3 Structured Streaming的编程模型\t291
9.4 输入数据――生成Streaming Dataset、 Streaming DataFrame\t292
?9.4.1 实例67:根据文件生成工作流\t292
?9.4.2 实例68:根据文件、文件夹生成自动分区的工作流\t295
?9.4.3 实例69:根据Kafka以Streaming模式生成工作流\t297
?9.4.4 实例70:以Kafka为数据源,通过Batch方式生成工作流\t300
?9.4.5 实例71:根据指定速率生成工作流\t304
9.5 基于事件时间的窗口操作\t305
?9.5.1 事件时间窗口的工作方式\t305
?9.5.2 实例72:事件时间窗口的生成规则\t307
?9.5.3 实例73:基于事件时间窗口实现词频统计\t311
9.6 基于Watermark处理延迟数据\t314
?9.6.1 Watermark的作用\t314
?9.6.2 实例74:基于Update模式实现词频统计,并结合Watermark处理延迟数据\t314
?9.6.3 实例75:基于Append模式实现词频统计,并结合Watermark处理延迟数据\t320
?9.6.4 Watermark的底层工作原理\t322
?9.6.5 总结:Watermark机制与输出模式\t329
9.7 实例76:在处理流式数据时去除重复数据\t330
9.8 Structured Streaming中的join操作\t332
?9.8.1 实例77:在Stream-Static模式下的inner join操作\t333
?9.8.2 实例78:在Stream-Stream模式下的inner join操作\t335
?9.8.3 总结:已经支持的join操作\t340
9.9 在Structured Streaming中实现数据分组, 并手动维护分组状态\t341
?9.9.1 实例79:通过mapGroupsWithState实现数据分组,并手动维护分组状态\t341
?9.9.2 实例80:通过flatMapGroupsWithState实现数据分组,并手动维护分组状态\t347
?9.9.3 总结:手动维护状态与Watermark的使用技巧\t352
9.10 输出分析结果\t353
?9.10.1 输出模式(Output Mode)的使用场景\t353
?9.10.2 实例81:基于File Sink输出数据\t354
?9.10.3 实例82:基于Kafka Sink,以Streaming方式输出数据\t356
?9.10.4 实例83:基于Kafka Sink,以Batch方式输出数据\t358
?9.10.5 实例84:基于Console Sink输出数据\t360
?9.10.6 实例85:基于Memory Sink输出数据\t360
?9.10.7 实例86:基于Foreach Sink输出数据\t362
?9.10.8 实例87:基于ForeachBatch Sink输出数据\t367
?9.10.9 总结:不同Sink所适用的输出模式\t369
9.11 Trigger触发器的分类\t370
9.12 管理与监控工作流\t370
?9.12.1 管理工作流\t370
?9.12.2 监控工作流\t372
9.13 Structured Streaming中的Checkpoint机制\t372
9.14 连续处理模式――Continuous Processing\t373
9.15 本章小结\t374
-
0章 Spark的相关优化\t375
10.1 优化Spark程序\t375
?10.1.1 实例88:尽可能减少或避免出现Shuffle过程\t375
?10.1.2 实例89:使用Kryo作为序列化方案\t377
?10.1.3 尽可能批量操作数据\t381
?10.1.4 合理设置分区数\t381
?10.1.5 合理设置批处理间隔\t381
10.2 优化数据\t382
?10.2.1 关于数据倾斜\t382
?10.2.2 实例90:使用自定义Partitioner缓解数据倾斜\t383
?10.2.3 关于数据补全\t387
10.3 调优资源\t388
10.4 本章小结\t390
=
第5篇 商业项目实战
-
1章 实战:学生学习情况分析系统\t392
11.1 项目概述\t392
?11.1.1 业务背景\t392
?11.1.2 划分业务模块\t392
11.2 开发环境说明\t393
11.3 项目实现\t394
?11.3.1 构建工程\t394
?11.3.2 模拟数据\t395
?11.3.3 实时发送数据到Kafka\t399
?11.3.4 实时分析平台答题数据\t402
?11.3.5 构建推荐模型\t405
?11.3.6 实时推荐题目\t411
?11.3.7 离线学情分析\t415
11.4 本章小结\t422
内容推荐
本书讲解了网络大数据时代应运而生的、能高效迅捷地分析处理数据的工具——Spark,它带领读者快速掌握用Spark收集、计算、简化和保存海量数据的方法,学会交互、迭代和增量式分析,解决分区、数据本地化和自定义序列化等问题。
随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/3/26 22:52:20