第4章 Spark SQL
Spark SQL是Spark中处理结构化数据的模块。本章包含以下内容。
- 理解Catalyst优化器。
- 创建HiveContext。
- 使用case类生成数据格式。
- 编程指定数据格式。
- 使用Parquet格式载入及存储数据。
- 使用JSON格式载入及存储数据。
- 从关系型数据库载入及存储数据。
- 从任意数据源载入及存储数据。
4.1 简介
Spark可以处理诸如HDFS、Cassandra、HBase以及关系型数据库等各种数据源。大数据框架(与关系型数据库不同)不强制写入格式,HDFS就是一个可以在写阶段接收任意文件的完美例子。不过,读取数据就不同了。你需要给那些甚至是完全非结构化的数据以一定的结构,使得数据具有意义。SQL非常便于分析这种结构化处理过的数据。
Spark SQL是Spark生态系统的相对较新的组件,在Spark 1.0中首次引入。它集成了一个名叫Shark的项目,是一个在Spark上运行Hive的尝试项目。
如图4-1所示,Hive本质上是一种关系型抽象,它将SQL查询转换为MapReduce作业。
图4-1 Hive结构抽象图
如图4-2所示,Shark替代了Spark中的MapReduce部分同时保留了大部分的代码库。
图4-2 Spark替代MapReduce ...
Get Spark Cookbook (中文版) now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.