三年工作经验大佬教您如何对Spark SQL入门

前言:
Spark SQL是Spark大数据框架的一部分, 支持使用标准SQL查询和HiveQL来读写数据,可用于结构化数据处理,并可以执行类似SQL的Spark数据查询,有助于开发人员更快地创建和运行Spark程序。
全书分为4篇,共9章,第一篇讲解了Spark SQL发展历史和开发环境搭建。第二篇讲解了Spark SQL实例,使得读者掌握Spark SQL的入门操作,了 解Spark RDD、DataFrame 和DataSet,并熟悉DataFrame各种操作。第三篇讲解了基于WiFi探针的商业大数据分析项目,实例中包含数据采集、预处理、存储、利用Spark SQL挖掘数据,一步一步带领读者学习Spark SQL强大的数据挖掘功能。第四篇讲解了Spark SQL优化的知识。

第一部分 入门篇(第1、2章)

第1章简要介绍Spark的诞生、Spark SQL的发展历史以及Spark SQL 的用处等内容,使读者快速了解Spark SQL背景知识,为以后的学习奠 定基础。
在这里插入图片描述
第 2章介绍Spark程序编写环境的搭建和Spark程序的打包及提交。通过上一章的学习,相信读者已经了解了Spark SQL是什么、能做 什么、发展状况如何,在这一章中读者将学习在Linux中完成Spark的安 装,以及搭建本书后面需要用到的Spark程序的编写环境,并能够将程 序打包提交到Spark中运行。
在这里插入图片描述

第二部分 基础篇本部分由第3~6章组成,

第3章是本书中篇幅最长的一章,同时也 是真正开始学习Spark SQL必要的先修课,其中详尽地介绍了Spark框 架对数据的核心抽象——RDD(弹性分布式数据集)的方方面面。先 介绍与RDD相关的基本概念,例如转化操作、行动操作、惰性求值、 缓存,讲解的过程伴随着丰富的示例,旨在提高读者对RDD的理解与 加强读者的RDD编程基础。在讲明白RDD中基础内容的同时,又深入 地剖析了疑点、难点,例如RDD Lineage(RDD依赖关系图)、向 Spark传递函数、对闭包的理解等。在之前对基本类型RDD的学习基 础上,又引入了对特殊类RDD——键值对RDD的大致介绍,在键值对 RDD介绍中对combineByKey操作的讲解,深入地从代码实现的角度洞 悉了Spark分布式计算的实质,旨在帮助对RDD有着浓厚兴趣的读者 做进一步的拓展。最后,站在RDD设计者的角度重新审视了RDD缓 存、持久化、checkpoint机制,从而诠释了RDD为什么能够很好地适 应大数据分析业务的特点,有天然强大的容错性、易恢复性和高效 性。
在这里插入图片描述
第4章对Spark高级模块——Spark SQL,也就是本书的主题,进 行了简明扼要的概述,并讲述了相应的Spark SQL编程基础。先是通 过与我们前一章所学的Spark对数据的核心抽象——RDD的对比,引 出了Spark SQL中核心的数据抽象——DataFrame,讲解了两者的异 同,点明了Spark SQL是针对结构化数据处理的高级模块的原因在于 其内置丰富结构信息的数据抽象。后一部分通过丰富的示例讲解了如 何利用Spark SQL模块来编程的主要步骤,例如,从结构化数据源中 创建DataFrame、DataFrame基本操作以及执行SQL查询等。
在这里插入图片描述
第5、6章属于Spark SQL编程的进阶内容,也是我们将Spark SQL
应用于生产、科研计算环境下,真正开始分析多类数据源、实现各种 复杂业务需求必须要掌握的知识。在第5章里,我们以包含简单且典型 的学生信息表的JSON文件作为数据源,深入对DataFrame丰富强大的 API进行研究,以操作讲解加示例的形式包揽了DataFrame中每一个常 用的行动、转化操作,进而帮助读者轻松高效地组合使用DataFrame 所提供的API来实现业务需求。在第6章里,介绍了Spark SQL可处理 的各种数据源,包括Hive表、JSON和Parquet文件等,从广度上使读 者了解Spark SQL在大数据领域对典型结构化数据源的皆可处理性, 从而使读者真正在工作中掌握一门结构化数据的分析利器。
在这里插入图片描述

第三部分 实践篇本部分由第7、8章组成。

第7章从功能需求、系统架构、功能设 计、数据库结构等方面介绍项目实例系统,帮助读者理解该系统的运 行方式。
本章将从功能需求、整体架构、数据分析等方面介绍一个较简单的 Spark SQL应用程序——基于WiFi探针的商业大数据分析,该项目通过 布置在商家内的WiFi探针收集周边的终端设备发出的扫描信号并将收集 到的数据上传到服务器,在服务器上完成数据处理后,再以图表或者报 表的形式提供给商家,商家可以根据人流量较大的时间制定恰当的营销 策略,以降低运营成本、提高营销效率。
在这里插入图片描述
第8章前半部分从运行环境搭建、项目代码等方面进一步了解 实例系统的工作方式,后半部分则是对Spark SQL远程调试方法的介 绍。通过这两章的学习,读者应大致掌握Spark SQL应用的开发流 程。
本章将根据第7章中介绍的项目,详细介绍一个Spark SQL应用程序 的开发过程,解析该样例工程的全部源码。在本章中,将使用到本书所 提到的部分知识,希望读者在阅读本章之前对Spark SQL的API有一定的 了解。
在这里插入图片描述

第四部分 优化篇

本部分由第9章组成首先介绍了Spark的执行流程、内存的划分 以及任务的划分,使读者大体上了解Spark的工作方式;然后从程序编 写、Spark本身的调优以及数据倾斜问题的解决三方面对Spark调优进 行介绍;最后以Spark执行引擎Tungsten与Spark SQL解析引擎 Catalyst的介绍作为结尾。
读者看完本章之后将会了解Spark的执行流程、Spark的内存分布以 及如何划分stage。本章的大半部分内容将主要讲解如何对Spark程序进 行优化,重点放在优化思路上。读者看完之后能了解优化的思想以及优 化的方法。
在这里插入图片描述
喜欢小编的文章可以关注小编哦~~~还可以通过一下扣扣裙来进行技术的交流:926282626

发布了41 篇原创文章 · 获赞 1 · 访问量 2854

猜你喜欢

转载自blog.csdn.net/Ppikaqiu/article/details/103614586