华信教育资源网
Spark大数据技术与应用(Scala版)——基于Hadoop 3.3+Spark 3.5
丛   书   名: 大数据工程技术系列·“中高本”一体化教材
作   译   者:李新辉 出 版 日 期:2026-01-01
出   版   社:电子工业出版社 维   护   人:徐建军 
书   代   号:G0515470 I S B N:9787121515477

图书简介:

Spark 是业界主流的大数据计算框架,拥有强大的分布式计算能力,能够充分利用大量的廉价机器进行大数据的处理工作,同时又具备较高的性能,这使得它在各大互联网企业中有着广泛的应用。本书通过一系列通俗易懂的数据处理实例展开,详细阐述Spark大数据平台与环境搭建、Spark RDD 离线数据计算、Spark SQL离线数据处理、Spark Streaming流数据计算等一系列常见的大数据处理技术,在此基础上对Spark框架的核心概念及技术原理进行详细分析,最后通过一个综合实例展示Spark离线数据处理的具体应用与部署。本书将Scala基础知识的介绍融入实例中,并未像传统做法那样设置单独的章节,方便读者按需学习,以减轻学习一种新编程语言的压力。全书各环节遵循“做中学”的设计理念,内容编排贴近初学者的认知规律,从细小简单的实例入手,辅以大量配图,对学习过程中涉及的枯燥数据、抽象概念和复杂原理予以图示化的解释说明,还安排了大量单元训练,以达到教学过程中的“学以致用”目的,内容编写以语言浅显易懂、技术体系清晰、逻辑衔接合理、知识内容够用为原则。在最后安排的数据处理综合实例中,分别从需求分析、技术准备、数据清洗、需求实现、数据可视化等几个关键环节展开叙述,便于读者对Spark大数据项目的整体开发流程有一个实际的体会。
定价 59.8
您的专属联系人更多
关注 评论(0) 分享
配套资源 图书内容 样章/电子教材 图书评价
  • 配 套 资 源

    本书资源

    会员上传本书资源

  • 图 书 内 容

    内容简介

    Spark 是业界主流的大数据计算框架,拥有强大的分布式计算能力,能够充分利用大量的廉价机器进行大数据的处理工作,同时又具备较高的性能,这使得它在各大互联网企业中有着广泛的应用。本书通过一系列通俗易懂的数据处理实例展开,详细阐述Spark大数据平台与环境搭建、Spark RDD 离线数据计算、Spark SQL离线数据处理、Spark Streaming流数据计算等一系列常见的大数据处理技术,在此基础上对Spark框架的核心概念及技术原理进行详细分析,最后通过一个综合实例展示Spark离线数据处理的具体应用与部署。本书将Scala基础知识的介绍融入实例中,并未像传统做法那样设置单独的章节,方便读者按需学习,以减轻学习一种新编程语言的压力。全书各环节遵循“做中学”的设计理念,内容编排贴近初学者的认知规律,从细小简单的实例入手,辅以大量配图,对学习过程中涉及的枯燥数据、抽象概念和复杂原理予以图示化的解释说明,还安排了大量单元训练,以达到教学过程中的“学以致用”目的,内容编写以语言浅显易懂、技术体系清晰、逻辑衔接合理、知识内容够用为原则。在最后安排的数据处理综合实例中,分别从需求分析、技术准备、数据清洗、需求实现、数据可视化等几个关键环节展开叙述,便于读者对Spark大数据项目的整体开发流程有一个实际的体会。

    图书详情

    ISBN:9787121515477
    开 本:16(185*260)
    页 数:308
    字 数:505

    本书目录

    第1章 Spark大数据平台与环境搭建	1
    1.1 引言	2
    1.2 Spark大数据平台介绍	2
    1.2.1 Spark是什么	2
    1.2.2 Spark与大数据的应用场景	4
    1.2.3 Spark编程环境(Scala)	5
    1.2.4 Spark应用程序基本原理	7
    1.3 Spark大数据环境搭建	8
    1.3.1 Linux操作系统安装和配置	8
    1.Ubuntu虚拟机的安装	8
    2.Ubuntu基本配置	19
    3.vi编辑器	22
    4.MobaXterm远程连接工具	24
    1.3.2 Hadoop伪分布式集群环境搭建	28
    1.JDK的安装与配置	28
    2.Linux免密登录	31
    3.Hadoop的安装	33
    4.HDFS的配置	35
    5.YARN的配置	38
    6.HDFS和YARN的测试	39
    1.3.3 Spark单机运行环境搭建	42
    1.Spark的安装与配置	42
    2.SparkShell交互式编程环境	44
    3.Spark框架的目录结构	46
    1.4 Scala核心语法概览	47
    1.5 单元训练	50
    第2章 Spark RDD离线数据计算	51
    2.1 引言	52
    2.2 RDD基本原理	52
    2.3 RDD编程模型	54
    2.4 Spark RDD常用操作	57
    2.4.1 RDD的创建	57
    1.通过集合元素创建RDD	57
    2.通过文本文件创建RDD	60
    2.4.2 RDD的转换操作	64
    1.map数据转换	64
    2.flatMap数据转换	70
    3.filter数据筛选	72
    4.sortBy数据排序	73
    5.distinct数据去重	75
    6.union数据合并	76
    7.intersection数据交集	77
    8.subtract数据差集	78
    9.groupBy数据分组	79
    10.groupByKey数据分组	80
    11.reduceByKey数据归并	81
    12.sortByKey数据排序	84
    13.keys和values操作	85
    14.mapValues和flatMapValues操作	86
    2.4.3 RDD的行动操作	88
    1.collect操作	88
    2.take操作	89
    3.first操作	90
    4.count/countByValue操作	90
    5.max/min/sum/mean操作	91
    2.5 Spark RDD数据计算实例	91
    2.5.1 词频统计实例	91
    2.5.2 基本TopN问题实例	94
    2.5.3 用户消费数据处理实例	98
    2.6 Spark的文件读/写	101
    2.6.1 文本文件的读/写	101
    1.textFile读取文本数据	101
    2.saveAsTextFile保存到文本文件中	102
    2.6.2 SequenceFile文件的读/写	104
    2.7 单元训练	105
    第3章 Spark SQL离线数据处理	107
    3.1 引言	108
    3.2 DataFrame基本原理	108
    3.3 Spark SQL常用操作	109
    3.3.1 DataFrame的基本创建	109
    1.使用集合创建DataFrame	109
    2.使用CSV文件创建DataFrame	115
    3.3.2 DataFrame的查看	117
    3.3.3 DataFrame的数据操作(DSL)	121
    1.DataFrame的数据查询	122
    2.DataFrame的数据处理	128
    3.3.4 DataFrame的数据操作(SQL)	135
    1.DataFrame视图表的创建	136
    2.DataFrame视图表的SQL查询	138
    3.4 Spark SQL数据处理实例	147
    3.4.1 人口信息统计实例	147
    3.4.2 电影评分数据分析实例	150
    3.5 DataFrame创建和保存	153
    3.5.1 创建DataFrame	154
    1.通过JSON文件创建DataFrame	154
    2.通过Parquet文件创建DataFrame	155
    3.5.2 保存DataFrame	155
    3.6 RDD/DataFrame/Dataset类型转换	156
    3.7 单元训练	164
    第4章 Spark Streaming流数据计算	167
    4.1 引言	167
    4.2 Spark Streaming基本原理	168
    4.3 Spark Streaming词频统计	169
    4.3.1 Netcat网络工具测试	169
    4.3.2 DStream词频统计	170
    4.4 单元训练	172
    第5章 Spark编程进阶	173
    5.1 引言	174
    5.2 搭建Spark应用开发环境	174
    5.2.1 Scala编程环境	174
    5.2.2 IntelliJ IDEA集成开发环境	176
    5.3 理解RDD	190
    5.3.1 RDD的基本概念	190
    5.3.2 RDD的分区机制	192
    5.3.3 RDD的依赖关系	193
    1.窄依赖	194
    2.宽依赖	194
    5.3.4 RDD的计算调度	195
    1.Job	195
    2.Stage	197
    3.Task	198
    5.4 RDD缓存机制	201
    5.5 广播变量和累加器	203
    5.5.1 广播变量	203
    5.5.2 累加器	205
    5.6 Spark生态和应用架构	208
    5.6.1 Spark生态架构	208
    1.Spark Core组件	208
    2.Spark SQL组件	209
    3.Spark Streaming组件	209
    4.MLlib组件	209
    5.GraphX组件	209
    5.6.2 Spark应用架构	210
    1.Spark应用的基本原理	210
    2.Spark应用程序	210
    3.Spark应用程序的运行方式	212
    5.7 Spark集群和应用部署	213
    5.7.1 Spark伪分布式集群的搭建	213
    5.7.2 Spark应用部署模式	219
    1.Local模式	219
    2.Spark Standalone模式	219
    3.Spark on YARN模式	219
    5.7.3 Spark应用部署实例	220
    1.Local模式	221
    2.Spark Standalone模式	222
    3.Spark on YARN模式	226
    4.Spark应用的部署参数	230
    5.8 单元训练	232
    第6章 Spark大数据分析项目实例	233
    6.1 引言	233
    6.2 CentOS7+JDK8虚拟机安装	234
    6.3 Hadoop+Spark分布式集群环境	239
    6.3.1 Hadoop+Spark Standalone分布式集群环境搭建	239
    6.3.2 Hadoop+Spark on YARN分布式集群环境搭建	243
    6.4 Spark离线数据处理实例	248
    6.4.1 需求分析	248
    6.4.2 准备工作	250
    1.数据清洗(Pandas)	250
    2.窗口操作(Spark SQL)	258
    3.数据可视化(pyecharts)	264
    6.4.3 美妆商品订单数据分析	268
    1.创建Spark项目	268
    2.订单数据处理分析	274
    3.结果数据保存	284
    6.4.4 美妆商品订单数据可视化	286
    6.5 Spark数据分析实例部署	290
    6.6 单元训练	296
    
    展开

    前     言

    Spark大数据平台目前已成为大数据技术领域的佼佼者,同类竞争者包括Flink、Storm等。Spark是一个基于内存计算的大数据框架,支持离线处理和流计算。它的设计思想最初来源于Hadoop的MapReduce,但在性能上得到了大幅提高,可以轻松访问HDFS、Hive、HBase、MySQL等各种不同类型的数据源,提供了上百种计算功能的API,支持Scala、Java、Python、R、SQL等业界主流的编程语言。Spark还是一个“一站式”的大数据统一计算分析引擎,除了支持RDD、Spark SQL离线数据处理技术、Spark Streaming流计算技术,还包含GraphX图计算、MLlib机器学习等模块,自带一个Spark Standalone集群管理器,具有非常强的适应性,可应用于多种不同的大数据计算场合。
    Spark框架是用Scala编写的,这是一种兼具面向对象和函数式特性的编程语言,它的语法简洁且富有表现力,不仅可以减少代码的编写量,还具有强大的并发处理能力,这使得它在处理并行计算任务时表现出色,非常适用于大数据计算场合。此外,Scala能与Java实现无缝互操作,这不仅使Scala能充分利用Java的丰富资源,而且已有Java基础的开发人员,可以平滑地过渡到Scala上。不过,相较于Java来说,Scala毕竟是一种较新的编程语言,要熟练掌握并自如地应用它还需要一定的时间。为了使读者将注意力集中到Spark的技术学习上,本书将与Scala相关的基础内容融入实例中,并不会面面俱到地讲解Scala的语法,而是在编排知识内容时“按需学习”。此外,为尽可能降低学习Scala的难度,本书通过将Scala的语法特性与Java和Python的语法特性进行类比,从一定程度上弱化读者面对Scala所产生的困惑。
    本书的目的是带领读者快速进入Spark的大数据世界。针对Spark初学者,本书重点考虑的是如何将一些枯燥的抽象数据、概念、原理讲清楚,为此书中设计了大量技术原理配图,在文字描述上辅之以比喻、类比等各种手段进行详细的说明,力求使读者实现形象化的理解。另外,项目化的教学方法近年在教学实践中得到了大量应用,相比传统偏理论的教学方式确实更加高效,但在教学过程中教学者也发现,过度项目化很容易导致一些问题,比如知识体系凌乱,倾向关注项目细节而使读者对一些复杂知识的理解不深等问题。为此,本书尝试以实例和项目相结合的方式,通过各种简单易懂的教学实例推进知识和技能点的学习,同时安排大量配套单元训练以期达到“学以致用”目的,最后将各种相关技术整合到项目中进行综合应用,切实培养读者使用Spark大数据技术解决实际问题的能力。
    本书分为6章,具体内容如下。
    第1章首先介绍Spark大数据平台的概念、应用场景、编程环境以及Spark应用程序基本原理,然后阐述Spark大数据环境的搭建,内容包括Linux操作系统安装和配置、Hadoop伪分布式集群环境搭建、Spark单机运行环境搭建。另外,本章还介绍了Scala的核心语法。
    第2章主要介绍Spark RDD的基本原理和编程模型,重点阐述Spark RDD的常用操作,包括RDD的创建,RDD的转换操作和行动操作,并通过3个综合实例对RDD的常用操作进行实际运用。另外,本章还介绍了Spark读/写不同类型文件的内容。
    第 3 章首先介绍DataFrame的基本原理,重点分析Spark SQL的常用操作,包括DataFrame的基本创建、查看和常见的数据操作(包括DSL和SQL两大类),然后通过两个综合实例展示如何使用Spark SQL来解决实际问题,最后阐述DataFrame创建和保存、RDD/DataFrame/
    Dataset类型转换等内容。
    第4章简要介绍Spark Streaming流数据计算方面的技术,包括Spark Streaming基本原理、Spark Streaming词频统计编程举例这两方面的内容。
    第5章首先介绍Spark应用开发环境的搭建和Spark几个核心技术,包括RDD的概念、分区机制、依赖关系、计算调度(Job/Stage/Task)和缓存机制,然后阐述Spark广播变量和累加器的基本使用方法,以及Spark生态和应用架构、Spark集群和应用部署等方面的内容。
    第6章主要介绍CentOS+Hadoop+Spark完全分布式集群环境的搭建方法,并通过一个离线数据处理的综合实例,阐述将Spark大数据技术运用到实际项目中的基本思路和流程。
    本书深入学习贯彻党的二十大精神,实施科教兴国战略,强化现代化建设人才支撑。坚持党管人才原则,坚持尊重劳动、尊重知识、尊重人才、尊重创造,实施更加积极、更加开放、更加有效的人才政策,引导广大人才爱党报国、敬业奉献、服务人民。本书以企业人才岗位需求为目标,突出知识与技能的有机融合,让读者在学习过程中举一反三,培养创新思维,以适应高等职业教育人才的建设需求。
    本书由杭州职业技术大学的李新辉、高永梅编著,书中部分项目素材由杭州时课智能科技有限公司提供,在编写本书过程中,编者参考了部分网络资源,在此一并对提供这些资源的作者表示感谢。
    为了方便教师教学,本书配有电子课件及相关资源,包括虚拟机、源代码、PPT、教学设计、单元训练答案等,读者可登录华信教育资源网注册后免费下载,如果有问题可在网站留言板留言或与电子工业出版社联系(E-mail:hxedu@phei. com.cn),也可直接与编者取得联系(E-mail:lxh2002@126.com)。
    本书实例所选用的数据均为假设,并非真实数据,无实际意义,所有数据没有单位,不影响实例讲解。
    教材建设是一项系统工程,需要在实践中不断加以完善及改进,由于编者水平有限,书中难免存在疏漏和不足之处,敬请同行专家和广大读者批评与指正。
    
    编  者
    展开

    作者简介

    李新辉,男,硕士,毕业于南昌大学计算机应用技术专业,2006年开始从事计算机相关课程的教育教学,从事大数学技术专业的课程教学工作。
  • 样 章 试 读
    本书暂无样章试读!
  • 图 书 评 价 我要评论
华信教育资源网