Spark SQL入门与实践指南 封面

Spark SQL入门与实践指南

暂无评分
字数
33.9万字
章节数
40
ISBN
9787302496700

标签

内容简介

《Spark SQL入门与实践指南》是面向初学者与实践者的一本 Spark SQL 教程。全书分为入门、基础、实践、优化四部分,共 9 章,所有示例代码均用 Scala 编写。入门篇(第 1—2 章)介绍 Spark 的诞生、Spark SQL 的发展脉络与能力边界,并带着读者完成 Spark 的简易安装、IDEA 开发环境准备,以及把程序打成 jar 包提交到集群的完整流程。基础篇(第 3—6 章)是全书的重点:先讲清 RDD 的创建、转化与行动操作、惰性求值、向 Spark 传递函数、缓存与 checkpoint 容错机制;再以 SparkSession 为入口,讲解 DataFrame 与 Dataset 的创建、基本操作、执行 SQL 查询、全局临时表和用户自定义函数(UDF);随后系统梳理 DataFrame 的行动操作与十余类常用转化操作,包括筛选、选列、排序、分组聚合、去重、合并、join、多表差集与空值处理等;最后讲解 load/save 通用函数、存储模式、分区与分桶,以及 Parquet、JSON、Hive 表和其他数据库等典型数据源。实践篇(第 7—8 章)以“基于 WiFi 探针的商业大数据分析”为工程案例,覆盖数据采集、清洗、客流分析与数据导出,并讲解完全分布式环境的搭建、数据清洗流程、远程调试与 Spark Web 界面使用。优化篇(第 9 章)围绕执行流程、内存管理、编程四大守则、调优七式、数据倾斜治理,以及 Tungsten 执行引擎和 Catalyst 解析引擎展开。

编辑推荐

很多讲 Spark 的书一上来就把分布式原理铺满半本书,读者还没跑通第一行代码就先被劝退。这本《Spark SQL入门与实践指南》走的是另一条路线:从装环境、建 IDEA 工程、打 jar 包提交开始,一路带你写出能跑的程序,再逐步加深到原理与调优,节奏对自学者相当友好。 它的几个实在之处:一是结构清晰,入门、基础、实践、优化四篇九章,先讲 RDD 打底,再过渡到 DataFrame/Dataset 和 SQL 查询,最后才谈性能,符合“先会用、再会快”的学习规律;二是操作讲得细,第 5 章把 DataFrame 的筛选、选列、排序、分组聚合、去重、union、join、求交求差、空值处理逐条列出,几乎可以当速查手册用;三是有一个完整的工程案例,围绕 WiFi 探针的商业数据分析,从数据采集、清洗、客流分析到导出全流程走一遍,帮读者建立工程思维而不只是会写 demo;四是调优篇不空谈,执行流程、内存、数据倾斜、Tungsten 和 Catalyst 都点到了。 当然要提醒一句:本书初版于 2018 年,案例基于当时的 Spark 2.x 与 Scala API。如今 Spark 3.x 已是主流,SQL 语法与 API 大体相通,但版本细节、参数配置、部分环境搭建步骤可能已有变化,动手时请对照官方文档做适配。把它当作“入门打底 + 工程思路”的书来用,性价比很高。

适合谁读

适合

  • 刚接触 Spark、想从零跑通第一个结构化数据分析程序的自学者
  • 熟悉 SQL、需要把分析能力迁移到海量数据上的数据分析师
  • 已在用 Hadoop 生态、准备引入 Spark SQL 处理结构化数据的工程师
  • 开设大数据课程的高校与培训机构师生,可作为实践教材

不适合

  • 需要 Spark 3.x 最新 API 与云原生部署细节的资深开发者
  • 只想读原理、不打算动手写代码的理论型读者
  • 以 Python/PySpark 或 Java 为主要开发语言、不熟悉 Scala 的读者

阅读建议

  1. 按入门—基础—实践—优化的顺序读,第 2、4 章务必跟着动手,先把环境、打包提交和 SparkSession 跑通。
  2. 第 5 章适合当速查表使用:遇到具体 DataFrame 操作时回查对应小节,不必一次背完。
  3. 读第 7、8 章前先搭建一台或几台虚拟机练手,边搭完全分布式环境边对照案例走流程,收益最大。
  4. 书中基于 2018 年前后的 Spark 版本,实操时对照当前官方文档调整版本号与配置项,遇到 API 差异以官方说明为准。

出版社简介

清华大学出版社 中国 · 成立于 1980 年

清华大学出版社创立于1980年,库内收录图书57种,涵盖科学科普、医学、健康、法律、哲学读物与社科等方向。代表图书既有菠萝(李治中)的《癌症·真相:医生也在读》《癌症·新知》等医学科普作品,也有《阳光是最好的防腐剂:全球反腐大要案快递》等法律类读物,以及七格的《脑洞大开的哲学简史》、刘云浩的《从互联到新工业革命》等。作者资源包括科普作家、医学研究者、中国人民大学反贪硕士班及高校学者,体现出兼顾学术性与大众阅读的出版特色。因公开资料有限,此处仅依据库内图书归纳其出版方向。

目录

  1. 第一部分 入门篇
  2. 第1章 初识Spark SQL
  3. 1.1 Spark SQL的前世今生
  4. 1.2 Spark SQL能做什么
  5. 第2章 Spark安装、编程环境搭建以及打包提交
  6. 2.1 Spark的简易安装
  7. 2.2 准备编写Spark应用程序的IDEA环境
  8. 2.3 将编写好的Spark应用程序打包成jar提交到Spark上
  9. 第二部分 基础篇
  10. 第3章 Spark上的RDD编程
  11. 3.1 RDD基础(创建RDD、转化操作与行动操作、惰性求值、缓存概述、基本编程步骤)
  12. 3.2 RDD简单实例——wordcount
  13. 3.3 创建RDD(程序内部数据作为数据源、外部数据源)
  14. 3.4 RDD操作(转化操作、行动操作、惰性求值)
  15. 3.5 向Spark传递函数(匿名函数、静态方法与方法的引用、闭包)
  16. 3.6 常见的转化操作和行动操作(基本RDD转化操作与行动操作、键值对RDD、不同类型RDD之间的转换)
  17. 3.7 深入理解RDD
  18. 3.8 RDD缓存、持久化(缓存、持久化、持久化存储等级选取策略)
  19. 3.9 RDD checkpoint容错机制
  20. 第4章 Spark SQL编程入门
  21. 4.1 Spark SQL概述(是什么、通过什么实现、处理数据的优势、DataFrame)
  22. 4.2 Spark SQL编程入门示例(SparkSession、创建DataFrame、DataFrame基本操作、执行SQL查询、全局临时表、Dataset、将RDDs转化为DataFrame、用户自定义函数)
  23. 第5章 Spark SQL的DataFrame操作大全
  24. 5.1 由JSON文件生成所需的DataFrame对象
  25. 5.2 DataFrame上的行动操作
  26. 5.3 DataFrame上的转化操作(where、查询指定列、Column的巧妙应用、limit、order by与sort、group by、去重、聚合、union、join、字段统计信息、交集与差集、操作字段名、处理空值列)
  27. 第6章 Spark SQL支持的多种数据源
  28. 6.1 概述(通用load/save函数、手动指定选项、在文件上直接进行SQL查询、存储模式、持久化到表、bucket与排序分区操作)
  29. 6.2 典型结构化数据源(Parquet文件、JSON数据集、Hive表、其他数据库中的数据表)
  30. 第三部分 实践篇
  31. 第7章 Spark SQL工程实战之基于WiFi探针的商业大数据分析技术
  32. 7.1 功能需求(数据收集、数据清洗、客流数据分析、数据导出)
  33. 7.2 系统架构
  34. 7.3 功能设计
  35. 7.4 数据库结构
  36. 7.5 本章小结
  37. 第8章 第一个Spark SQL应用程序
  38. 8.1 完全分布式环境搭建(Java环境配置、Hadoop安装配置、Spark安装配置)
  39. 8.2 数据清洗
  40. 8.3 数据处理流程

常见问题

这本书适合完全没有大数据基础的读者吗?
可以,但需要一定前置知识。书中第 1—2 章会带读者装环境、写第一个程序,不过它默认你会 Java/Scala 基础语法、了解 Linux 基本操作。完全零基础的话,建议先补 Scala 或 Java 基础,再回来看。
书中代码用什么语言编写?
全部用 Scala,因为 Spark 框架本身也是用 Scala 写的,作者认为这样代码更简洁贴切。如果你主要用 Python 或 Java,思路和 API 可以迁移,但需要自行对照相应的 API 写法。
书里的版本较老,现在还值得读吗?
值得作为入门与工程思路的参考。本书 2018 年出版,示例基于当时的 Spark 2.x,而如今主流是 Spark 3.x。核心概念如 RDD、DataFrame、Dataset、Catalyst、数据倾斜治理依然适用,但环境搭建步骤与部分配置需按新版本文档更新。
没有集群环境能不能学这本书?
能。前六章的内容在单机 local 模式下即可完成,安装 Spark 后在本地跑 DataFrame 与 SQL 查询完全够用。只有第 7—8 章的全分布式环境与远程调试部分,才建议准备多台机器或虚拟机(也可先用伪分布式替代)。
实践案例讲的是什么内容?
是“基于 WiFi 探针的商业大数据分析”,属于商业客流分析场景:从探针数据采集、数据清洗,到客流数据分析与结果导出,并配套讲解系统架构、功能设计与数据库结构,走完一个完整小项目的流程。

读者评论

查询本书

本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。

同类高分