- Spark SQL入门与数据分析实践
- 杨虹 谢显中 周前能 张安文编著
- 603字
- 2025-03-12 17:54:27
1.4.3 Spark SQL的开发步骤
在了解Spark SQL的开发步骤之前,读者需要了解Spark SQL的运行流程,如图1-6所示。

图1-2 Spark SQL的运行流程
流程中,首先把数据加载到Spark SQL中,然后通过Spark SQL进行数据处理,最后把处理后的数据输出到对应的输出源中。Spark SQL的开发步骤如下。
1.数据源确定
思考数据源有哪些类型,有多少个数据源。Spark SQL支持非常多的数据源类型,如Hive、JSON、TXT等,也支持以JDBC的方式从关系数据库中读取数据。
2.数据类型映射
思考数据类型映射的问题。在关系数据库中,通过定义的表结构及字段的类型来进行映射,而在Spark SQL中该如何映射?本书后面会详细讲解这个问题。
3.加载数据
加载数据时,Spark SQL需要组织这些数据,并进行数据的映射。实际上,在Spark SQL中基于RDD封装了DataFrame和DataSet抽象模型。它们不仅可以存放数据,而且还保存了这些数据的Schema信息。它们和数据库的表类似,数据是按照行来存储的,而Schema记录着每一行数据属于哪个字段。因此,加载数据的过程本质就是构建DataFrame或DataSet的过程。
4.数据处理
有了DataFrame或DataSet后,就可以基于它们对数据进行处理了。它们提供了非常多的有用的方法来对数据进行处理,本书在后面会讲到。
5.数据输出
数据处理完后,需要对处理后的数据进行输出。读者可以通过Spark SQL将数据按相应格式输出到指定位置,如将数据以文本格式输出到HDFS上。
DataFrame和DataSet都是Spark SQL的抽象模型。在实际开发过程中,读者可以选择其中一种抽象模型来对数据进行操作。需要注意,DataSet是DataFrame API的一个扩展,是Spark SQL的一个新的数据抽象。本书将在后续章节中分别介绍它们。