通过典型数据分析应用场景、算法与系统架构,结合6大案例,全面、深入讲解Spark大数据分析的各种技术和方法
作为一个通用大数据计算框架,Spark广泛应用于多种典型大数据分析场景。
通过这本书,你将了解到:
Spark的机制与生态系统
Spark算法分析与应用
典型的数据分析场景
Spark在日志分析、情感分析、协同过滤、个性化推荐、社交网络分析、搜索、文本分析等场景的应用
Spark与其他开源工具及系统的集成
Spark已经在全球范围内被广泛使用,无论是微软、Intel、阿里巴巴、百度、腾讯等国际互联网巨头,还是一些初创公司,都在使用Spark。本书作者结合实战经验,编写了这本书。本书抽象出典型数据分析应用场景,适当简化,只进行主干介绍,讲解Spark应用开发、数据分析算法,并结合其他开源系统与组件,勾勒出数据分析流水线全貌。
这是一本根据应用场景讲解如何通过Spark进行大数据分析与应用构建的著作,以实战为导向。作者结合典型应用场景,抽象出通用与简化后的模型,以便于读者能举一反三,直接应用。
本书首先从技术层面讲解了Spark的机制、生态系统与开发相关的内容;然后从应用角度讲解了日志分析、推荐系统、情感分析、协同过滤、搜索引擎、社交网络分析、新闻数据分析等多个常见的大数据场景下的数据分析。在每个场景中,首先是对场景进行抽象与概括,然后将Spark融入其中构建数据分析算法与应用,最后结合其他开源系统或工具构建更为丰富的数据分析流水线。
高彦杰,
毕业于中国人民大学,就职于微软亚洲研究院。开源技术爱好者,对Spark及其他开源大数据系统与技术有较为深入的认识和研究,实践经验丰富。较早接触并使用Spark,对Spark应用开发、Spark系统的运维和测试比较熟悉,深度阅读了Spark的源代码,了解Spark的运行机制,擅长Spark的查询优化。
曾著有畅销书《Spark大数据处理:技术、应用与性能优化》。
倪亚宇,
清华大学自动化系在读博士研究生,曾于微软亚洲研究院、IBM研究院实习。对大规模的推荐系统和机器学习算法有较为深入的研究和丰富的实践经验。
前 言
第1章 Spark简介 1
1.1 初识Spark 1
1.2 Spark生态系统BDAS 3
1.3 Spark架构与运行逻辑 4
1.4 弹性分布式数据集 6
1.4.1 RDD简介 6
1.4.2 RDD算子分类 8
1.5 本章小结 17
第2章 Spark开发与环境配置 18
2.1 Spark应用开发环境配置 18
2.1.1 使用Intellij开发Spark
程序 18
2.1.2 使用SparkShell进行交互式数据分析 23
2.2 远程调试Spark程序 24
2.3 Spark编译 26
2.4 配置Spark源码阅读环境 29
2.5 本章小结 29
第3章 BDAS简介 30
3.1 SQL on Spark 30
3.1.1 为什么使用Spark SQL 31
3.1.2 Spark SQL架构分析 32
3.2 Spark Streaming 35
3.2.1 Spark Streaming简介 35
3.2.2 Spark Streaming架构 38
3.2.3 Spark Streaming原理剖析 38
3.3 GraphX 45
3.3.1 GraphX简介 45
3.3.2 GraphX的使用简介 45
3.3.3 GraphX体系结构 48
3.4 MLlib 50
3.4.1 MLlib简介 50
3.4.2 MLlib中的聚类和分类 52
3.5 本章小结 57
第4章 Lamda架构日志分析流水线 58
4.1 日志分析概述 58
4.2 日志分析指标 61
4.3 Lamda架构 62
4.4 构建日志分析数据流水线 64
4.4.1 用Flume进行日志采集 64
4.4.2 用Kafka将日志汇总 68
4.4.3 用Spark Streaming进行实时日志分析 70
4.4.4 Spark SQL离线日志分析 75
4.4.5 用Flask将日志KPI可视化 78
4.5 本章小结 81
第5章 基于云平台和用户日志的推荐系统 82
5.1 Azure云平台简介 82
5.1.1 Azure网站模型 83
5.1.2 Azure数据存储 84
5.1.3 Azure Queue消息传递 84
5.2 系统架构 85
5.3 构建Node.js应用 86
5.3.1 创建Azure Web应用 87
5.3.2 构建本地Node.js网站 90
5.3.3 发布应用到云平台 90
5.4 数据收集与预处理 91
5.4.1 通过JS收集用户行为日志 92
5.4.2 用户实时行为回传到Azure Queue 94
5.5 Spark Streaming实时分析用户日志 96
5.5.1 构建Azure Queue的Spark Streaming Receiver 96
5.5.2 Spark Streaming实时处理Azure Queue日志 97
5.5.3 Spark Streaming数据存储于Azure Table 98
5.6 MLlib离线训练模型 99
5.6.1 加载训练数据 99
5.6.2 使用rating RDD训练ALS模型 100
5.6.3 使用ALS模型进行电影推荐 101
5.6.4 评估模型的均方差 101
5.7 本章小结 102
第6章 Twitter情感分析 103
6.1 系统架构 103
6.2 Twitter数据收集 104
6.2.1 设置 104
6.2.2 Spark Streaming接收并输出Tweet 109
6.3 数据预处理与Cassandra存储 111
6.3.1 添加SBT依赖 111
6.3.2 创建Cassandra Schema 112
6.3.3 数据存储于Cassandra 112
6.4 Spark Streaming热点Twitter分析 113
6.5 Spark Streaming在线情感分析 115
6.6 Spark SQL进行Twitter分析 118
6.6.1 读取Cassandra数据 118
6.6.2 查看JSON数据模式 118
6.6.3 Spark SQL分析Twitter 119
6.7 Twitter可视化 123
6.8 本章小结 125
第7章 热点新闻分析系统 126
7.1 新闻数据分析 126
7.2 系统架构 126
7.3 爬虫抓取网络信息 127
7.3.1 Scrapy简介 127
7.3.2 创建基于Scrapy的新闻爬虫 128
7.3.3 爬虫分布式化 133
7.4 新闻文本数据预处理 134
7.5 新闻聚类 135
7.5.1 数据转换为向量(向量空间模型VSM) 135
7.5.2 新闻聚类 136
7.5.3 词向量同义词查询 138
7.5.4 实时热点新闻分析 138
7.6 Spark Elastic Search构建全文检索引擎 139
7.6.1 部署Elastic Search 139
7.6.2 用Elastic Search索引MongoDB数据 141
7.6.3 通过Elastic Search检索数据 143
7.7 本章小结 145
第8章 构建分布式的协同过滤推荐系统 146
8.1 推荐系统简介 146
8.2 协同过滤介绍 147
8.2.1 基于用户的协同过滤算法User-based CF 148
8.2.2 基于项目的协同过滤算法Item-based CF 149
8.2.3 基于模型的协同过滤推荐Model-based CF 150
8.3 基于Spark的矩阵运算实现协同过滤算法 152
8.3.1 Spark中的矩阵类型 152
8.3.2 Spark中的矩阵运算 153
8.3.3 实现User-based协同过滤的示例 153
8.3.4 实现Item-based协同过滤的示例 154
8.3.5 基于奇异值分解实现Model-based协同过滤的示例 155
8.4 基于Spark的MLlib实现协同过滤算法 155
8.4.1 MLlib的推荐算法工具 155
8.4.2 MLlib协同过滤推荐示例 156
8.5 案例:使用MLlib协同过滤实现电影推荐 157
8.5.1 MovieLens数据集 157
8.5.2 确定最佳的协同过滤模型参数 158
8.5.3 利用最佳模型进行电影推荐 160
8.6 本章小结 161
第9章 基于Spark的社交网络分析 162
9.1 社交网络介绍 162
9.1.1 社交网络的类型 162
9.1.2 社交网络的相关概念 163
9.2 社交网络中社团挖掘算法 164
9.2.1 聚类分析和K均值算法简介 165
9.2.2 社团挖掘的衡量指标 165
9.2.3 基于谱聚类的社团挖掘算法 166
9.3 Spark中的K均值算法 168
9.3.1 Spark中与K均值有关的对象和方法 168
9.3.2 Spark下K均值算法示例 168
9.4 案例:基于Spark的Facebook社团挖掘 169
9.4.1 SNAP社交网络数据集介绍 169
9.4.2 基于Spark的社团挖掘实现 170
9.5 社交网络中的链路预测算法 172
9.5.1 分类学习简介 172
9.5.2 分类器的评价指标 173
9.5.3 基于Logistic回归的链路预测算法 174
9.6 Spark MLlib中的Logistic回归 174
9.6.1 分类器相关对象 174
9.6.2 模型验证对象 175
9.6.3 基于Spark的Logistic回归示例 175
9.7 案例:基于Spark的链路预测算法 177
9.7.1 SNAP符号社交网络Epinions数据集 177
9.7.2 基于Spark的链路预测算法 177
9.8 本章小结 179
第10章 基于Spark的大规模新闻主题分析 180
10.1 主题模型简介 180
10.2 主题模型LDA 181
10.2.1 LDA模型介绍 181
10.2.2 LDA的训练算法 183
10.3 Spark中的LDA模型 185
10.3.1 MLlib对LDA的支持 185
10.3.2 Spark中LDA模型训练示例 186
10.4 案例:Newsgroups新闻的主题分析 189
10.4.1 Newsgroups数据集介绍 190
10.4.2 交叉验证估计新闻的主题个数 190
10.4.3 基于主题模型的文本聚类算法 193
10.4.4 基于主题模型的文本分类算法 195
10.5 本章小结 196
第11章 构建分布式的搜索引擎 197
11.1 搜索引擎简介 197
11.2 搜索排序概述 198
11.3 查询无关模型PageRank 199
11.4 基于Spark的分布式PageRank实现 200
11.4.1 PageRank的MapReduce实现 200
11.4.2 Spark的分布式图模型GraphX 203
11.4.3 基于GraphX的PageRank实现 203
11.5 案例:GoogleWeb Graph的PageRank计算 204
11.6 查询相关模型Ranking SVM 206
11.7 Spark中支持向量机的实现 208
11.7.1 Spark中的支持向量机模型 208
11.7.2 使用Spark测试数据演示支持向量机的训练 209
11.8 案例:基于MSLR数据集的查询排序 211
11.8.1 Microsoft Learning to Rank数据集介绍 211
11.8.2 基于Spark的Ranking SVM实现 212
11.9 本章小结 213
为什么要写这本书Spark大数据技术还在如火如荼地发展,Spark中国峰会的召开,各地meetup的火爆举行,开源软件Spark也因此水涨船高,很多公司已经将Spark大范围落地并且应用。Spark使用者的需求已经从最初的部署安装、运行实例,到现在越来越需要通过Spark构建丰富的数据分析应用。写一本Spark实用案例类的技术书籍,是一个持续了很久的想法。由于工作较为紧张,最初只是将参与或学习过的Spark相关案例进行总结,但是随着时间的推移,最终还是打算将其中通用的算法、系统架构以及应用场景抽象出来,并进行适当简化,也算是一种总结和分享。
Spark发源于美国加州大学伯克利分校AMPLab的大数据分析平台,它立足于内存计算,从多迭代批量处理出发,兼顾数据仓库、流处理和图计算等多种计算范式,是大数据系统领域的全栈计算平台。Spark当下已成为Apache基金会的顶级开源项目,拥有着庞大的社区支持,生态系统日益完善,技术也逐渐走向成熟。
现在越来越多的同行已经了解Spark,并且开始使用Spark,但是国内缺少一本Spark的实战案例类的书籍,很多Spark初学者和开发人员只能参考网络上零散的博客或文档,学习效率较慢。本书也正是为了解决上述问题而着意编写。
本书希望带给读者一个系统化的视角,秉承大道至简的主导思想,介绍Spark的基本原理,如何在Spark上构建复杂数据分析算法,以及Spark如何与其他开源系统进行结合构建数据分析应用,让读者开启Spark技术应用之旅。
本书特色Spark作为一款基于内存的分布式计算框架,具有简洁的接口,可以快速构建上层数据分析算法,同时具有很好的兼容性,能够结合其他开源数据分析系统构建数据分析应用或者产品。
为了适合读者阅读和掌握知识结构,本书从Spark基本概念和机制介绍入手,结合笔者实践经验讲解如何在Spark之上构建机器学习算法,并最后结合不同的应用场景构建数据分析应用。
读者对象本书中一些实操和应用章节,比较适数据分析和开发人员,可以作为工作手边书;机器学习和算法方面的章节,比较适合机器学习和算法工程师,可以分享经验,拓展解决问题的思路。
Spark初学者Spark应用开发人员Spark机器学习爱好者开源软件爱好者其他对大数据技术感兴趣的人员如何阅读本书本书分为11章内容。
第1章 从Spark概念出发,介绍Spark的来龙去脉,阐述Spark机制与如何进行Spark编程。
第2章 详细介绍Spark的开发环境配置。
第3章 详细介绍Spark生态系统重要组件Spark SQL、Spark Streaming、GraphX、MLlib的实现机制,为后续使用奠定基础。
第4章 详细介绍如何通过Flume、Kafka、Spark Streaming、HDFS、Flask等开源工具构建实时与离线数据分析流水线。
第5章 从实际出发,详细介绍如何在Azure云平台,通过Node.js、Azure Queue、Azure Table、Spark Streaming、MLlib等组件对用户行为数据进行分析与推荐。
第6章 详细介绍如何通过Twitter API、Spark SQL、Spark Streaming、Cassandra、D3等组件对Twitter进行情感分析与统计分析。
第7章 详细介绍如何通过Scrapy、Kafka、MongoDB、Spark、Spark Streaming、Elastic Search等组件对新闻进行抓取、分析、热点新闻聚类等挖掘工作。
第8章 详细介绍了协同过滤概念和模型,讲解了如何在Spark中实现基于Item-based、User-based和Model-based协同过滤算法的推荐系统。
第9章 详细介绍了社交网络分析的基本概念和经典算法,以及如何利用Spark实现这些经典算法,用于真实网络的分析。
第10章 详细介绍了主题分析模型(LDA),讲解如何在Spark中实现LDA算法,并且对真实的新闻数据进行分析。
第11章 详细介绍了搜索引擎的基本原理,以及其中用到的核心搜索排序相关算法——PageRank和Ranking SVM,并讲解了如何在Spark中实现PageRank和Ranking SVM算法,以及如何对真实的Web数据进行分析。
如果你有一定的经验,能够理解Spark的相关基础知识和使用技巧,那么可以直接阅读第4~11章。然而,如果你是一名初学者,请一定从第1章的基础知识开始学起。
勘误和支持由于笔者的水平有限,加之编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。如果你有更多的宝贵意见,我们会尽量为读者提供最满意的解答。你也可以通过微博@高彦杰gyj,博客:http://blog.csdn.net/gaoyanjie55,或者邮箱gaoyanjie55@163.com联系到高彦杰。你也可以通过邮箱niyayu@foxmail.com联系到倪亚宇。
期待能够得到大家的真挚反馈,在技术之路上互勉共进。
致谢感谢微软亚洲研究院的Thomas先生和Ying Yan,在每一次迷茫时给予我鼓励与支持。
感谢机械工业出版社华章公司的杨福川和高婧雅,在近半年的时间里始终支持我们的写作,你们的鼓励和帮助引导我顺利完成全部书稿。
特别致谢谨以此书献给我最亲爱的爱人,家人,同事,以及众多热爱大数据技术的朋友们!
高彦杰
在多年的软件开发生涯中,我一直信奉“实践出真知”的理念。技术,尤其是大数据这种发展迅速的领域,理论学习固然重要,但最终还是要落脚于实际的应用和问题的解决。因此,一本真正“实战”的书籍,对我来说具有非凡的价值。《Spark大数据分析实战》这个书名,立刻引起了我的共鸣。我渴望看到书中不仅仅是介绍Spark的架构和API,更重要的是能够深入到实际的案例中,展示如何利用Spark来解决复杂的数据分析挑战。我希望能看到书中能够包含不同规模和复杂性的数据处理项目,例如,如何使用Spark对海量用户评论进行情感分析,如何构建一个推荐系统,或者如何利用Spark进行金融风险预测。我期待书中能够详细阐述在实际项目中可能遇到的各种问题,比如数据倾斜、内存溢出、任务调度优化等,并提供切实可行的解决方案。此外,如果书中能够涉及Spark在不同部署环境(如YARN, Kubernetes)下的配置和调优,以及如何与其他流行的存储和计算框架(如Delta Lake, MLflow)进行集成,那将更具参考价值。
评分作为一个刚刚步入数据科学领域的新手,我对于大数据技术领域的一切都充满了好奇和探索的欲望。市面上的技术书籍琳琅满目,但往往充斥着晦涩难懂的理论和过于简化的示例,让我常常在学习过程中感到迷茫和挫败。当我看到《Spark大数据分析实战》这本书时,我被它的名字所吸引——“实战”二字给了我很大的信心。我希望能这本书能够真正做到“实战”,不仅仅是罗列API,而是能够通过一个又一个贴近实际业务场景的例子,一步步地引导我理解Spark的工作原理,以及如何在真实的数据分析项目中运用它。例如,书中如果能讲解如何使用Spark进行用户行为日志的清洗和分析,如何构建用户画像,或者如何利用Spark进行实时数据流的处理,那将对我非常有帮助。我希望作者能够用通俗易懂的语言,结合生动的图示和清晰的代码,带领我从零开始,逐步掌握Spark的各项技能。我期待这本书能够帮助我建立起对Spark的系统性认知,并赋予我解决实际数据分析问题的能力,为我未来在数据科学领域的深耕打下坚实的基础。
评分我是一名来自高校数据挖掘专业的学生,即将毕业,正积极地为进入职场做准备。在校期间,我接触过一些关于大数据处理的理论知识,但总觉得在实际操作中还有很多欠缺。《Spark大数据分析实战》这本书恰好契合了我当前的学习需求。我希望这本书能够成为我踏入数据分析行业的敲门砖,帮助我弥合理论与实践之间的鸿沟。我期待书中能够提供一些从零开始构建完整数据分析流程的案例,例如,如何进行数据采集、清洗、特征工程、模型训练以及结果可视化。尤其希望书中能够详细讲解Spark MLlib库的使用,并提供一些常见的机器学习算法在Spark上的实现和调优指导。同时,对于如何利用Spark处理非结构化数据,如文本和图像,我也非常感兴趣。如果书中能够分享一些作者在实际项目中积累的宝贵经验和“坑”,并给出如何规避的建议,那对我来说将是无价的。我希望这本书能够让我看到Spark在实际工作中的强大能力,并激发我对大数据分析的热情。
评分这本书的封面设计非常吸引人,深邃的蓝色背景搭配闪耀的火花图标,寓意着“Spark”这个技术名称,也暗示着数据分析过程中可能迸发出的智慧火花。我是一名在互联网公司从事数据分析工作了近三年的工程师,一直关注着大数据技术的最新发展。之前我接触过Hadoop生态的一些基础工具,但总觉得在处理大规模数据时,效率和便捷性上还有提升空间。Spark的出现,尤其是在内存计算方面的优势,让我对其产生了浓厚的兴趣。然而,市面上关于Spark的书籍虽然不少,但真正能够从实战角度出发,深入浅出地讲解其核心概念和落地应用的却相对较少。我希望这本书能够像它的名字一样,不仅仅是理论的堆砌,更能提供清晰的案例和代码示例,让我能够快速地将Spark应用于实际工作中,解决我们业务中遇到的数据处理瓶颈。我尤其期待书中能够详细讲解Spark的RDD、DataFrame和Dataset API,以及它们在不同场景下的适用性。另外,对于Spark SQL的性能优化技巧,以及如何将Spark与其他大数据组件(如Hadoop HDFS、Hive、Kafka等)进行集成,也是我非常关注的内容。如果书中能够涵盖这些方面,并且提供一些实际项目中遇到的问题和解决方案,那将极大地帮助我提升工作效率和技术能力。
评分作为一个对新兴技术抱有浓厚兴趣的技术爱好者,我对大数据领域的发展一直保持着高度的关注。Spark作为当前大数据处理领域最受欢迎的引擎之一,其高效的内存计算能力和灵活的API吸引了无数开发者。然而,我发现很多关于Spark的介绍往往停留在概念层面,而缺乏足够深入和详尽的实战指导。《Spark大数据分析实战》这本书的书名,直接点明了其核心价值——“实战”。我期待这本书能够提供一系列由浅入深、由简到繁的实操案例,让我能够亲手体验Spark在处理各种数据任务时的强大之处。我希望书中能够涵盖从Spark的基本环境搭建,到数据预处理、ETL流程构建,再到更高级的应用,如流式计算、图计算和机器学习。我尤其希望能够看到书中对Spark集群的部署、管理和性能优化的详细讲解,以及如何应对大数据量带来的挑战。此外,如果书中能够包含一些关于Spark与常见数据源(如MySQL, PostgreSQL, MongoDB)和云平台(如AWS S3, Azure Data Lake)的集成案例,那将更有助于我将所学知识应用到实际的开发和运维工作中。
评分满意
评分目录那么多内容,但是一共才200多页。就指目录卖钱呢。
评分公司用书,统一购买,送货很快!
评分活动很给力,书是正版,一次买了很多这类书,下次还会光顾的。
评分不错,但是为啥要六个字啊
评分一口气25本书,还是很爽的,重要的是学到东西,豆瓣上评价不错,不说了拿发票去报销了。
评分。。。。。。。。。。。。
评分还行吧~~
评分啦啦啦啦啦啦啦啦
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.teaonline.club All Rights Reserved. 图书大百科 版权所有