Spark----Spark SQL概述

Spark SQL概述

什么是Spark SQL

Spark----Spark SQL概述

Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作用。

我们已经学习了Hive,它是将Hive SQL转换成MapReduce然后提交到集群上执行,大大简化了编写MapReduce的程序的复杂性,由于MapReduce这种计算模型执行效率比较慢。所有Spark SQL的应运而生,它是将Spark SQL转换成RDD,然后提交到集群执行,执行效率非常快!

1.易整合

Spark----Spark SQL概述

2.统一的数据访问方式

Spark----Spark SQL概述

3.兼容Hive

Spark----Spark SQL概述

4.标准的数据连接

Spark----Spark SQL概述

Spark----Spark SQL概述

SparkSQL可以看做是一个转换层,向下对接各种不同的结构化数据源,向上提供不同的数据访问方式。

SparkSQL 的版本迭代 

SparkSQL 版本升级对应的新特性汇总 
 
1、SparkSQL 的前身是 Shark。由于 Shark 自身的不完善,2014 年 6 月 1 日 Reynold Xin 宣布: 停止对 Shark 的开发。SparkSQL 抛弃原有 Shark 的代码,汲取了 Shark 的一些优点,如内存 列存储(In-Memory Columnar Storage)、 Hive 兼容性等,重新开发 SparkSQL。 
 
2、Spark-1.1:2014 年 9 月 11 日,发布 Spark1.1.0。Spark 从 1.0 开始引入 SparkSQL(Shark 不再支持升级与维护) 。Spark1.1.0 变化较大是 SparkSQL 和 MLlib 
 
3、Spark-1.3:增加 DataFrame 新 API 
 
4、Spark-1.4:增加窗口分析函数 
 
5、Spark 1.5:钨丝计划。Hive 中有 UDF 与 UDAF,Spark 中对 UDF 支持较早 UDAF:User Defined Aggregate Function 用户自定义聚合函数,直到 Spark 1.5.x 才引入的最 新特性 关于“钨丝计划”:  https://blog.csdn.net/nysyxxg/article/details/56962247?locationNum=6&fps=1 
 
6、spark-1.6:执行的 sql 中可以增加"--"注释,Spark-1.5/1.6 的新特性,引入 DataSet 的概念 
 
7、Spark-2.x:SparkSQL+DataFrame+DataSet(正式版本),Structured Streaming(DataSet),引入 SparkSession 统一了 RDD,DataFrame,DataSet 的编程入口