开发者学堂课程【大数据 Spark 2020版(知识精讲与实战演练)第三阶段:SparkSQL 读写_介绍】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/690/detail/12051
SparkSQL 读写_介绍
内容介绍:
一、前几章总结
二、SparkSQL 扩展
一、前几章总结
到本章为止,第一阶段讲述了 SparkSQL 有怎样的历史背景,第二阶段是 Dataset 和 DataFrame 的初体验,了解 Dataset 和 DataFrame 是 SparkSQL 两个重要的 API,同时 DataFrame 其实就是 Dataset,两者可以划为等号,DataFrame 是放置了 Row 对象的 Dataset。所以在编程中支持两种编程范式。
使用.where,.filter,.map,.flatMap 等,还支持 SQL 语句,以上就是 SparkSQL 支持的两大部分范式,都是通过 Dataset 和 DataFrame 提供的。
即可以在一个 Spark 程序中先使用 spark.sql(...)进行一顿查询,查询到的数据会生成到一个 DataFrame,之后再根据这个 DataFrame 进行一些.flatMap(...)和.map(),实现先写命令语句再使用 API 进行操作,所以这个编程体验大大提高,它集成了两大范式的优点。
二、SparkSQL 扩展
在 SparkSQL 扩展中主要讲述两个议题,第一个议题是数据读写,第二个议题是数据操作,先讲述数据读写。
1. 数据读写
(1)介绍
数据读写自然就分为读和写,基于 Spark 来进行数据读写的操作,大体的步骤为三步:第一步将数据读出来生成 Dataset。
第二步接下来针对 Dataset 或 DataFrame 来进行操作,包括 sql 语句和其他操作。
第三步处理完后还需要将数据集给落地,放在 mysql 或者 redis 其他任何数据库里,都需要和它们进行一些交互,但是 RDD 中提供了数据读写的 API:TextFile()和 saveAsTextFile()作为写入的 API,这两个 API 都是通过将数据读出来变成一行一行字符串进行处理。同时数据读取和写入的点有许多,它是多方面的,数据可以从 json 中读取,也可以从 HBase 和 Mysql 中读等等,甚至还可以从 Hive 中读。
那么写入也一样,不仅不需要写入文件中还要写入数据库中,只使用 saveAsTextFile()来进行读写会有些许力不从心。
①数据如何读,数据如何写
所以此数据读写的环节,为了明白 SparkSQL 为大家新增的读框架和写框架。即需要介绍两部分内容,数据如何读+数据如何写。
②目的
数据读写部分的目的是了解如何读写数据,所以没有特别严谨和独立的案例,因为案例会影响同学们对于读写的理解,所以本章不做案例说明。
在 SparkSQL 扩展以后会增加一个小型的读写案例,了解在工作中怎么使用 SparkSQL 解决问题,知晓大致的逻辑和思路是怎样的。
③预告
在之后的数据读写部分主要介绍,数据读写框架和数据写入框架。