95.SPARKSQL_简介
网址:
https://spark.apache.org/sql/
Spark SQL
是
Spark
的一个模块,用于处理
结构化的数据
。
SparkSQL
特点
1
易整合
无缝的整合了
SQL
查询和
Spark
编程,随时用
SQL
或
DataFrame API
处理结构化数据。并且支持多语言
Java
、
Scala
、
Python
、
R
。
2
统一的数据访问
使用相同的方式连接不同的数据源或不同的文件格式中的数
据。
3
兼容
Hive
在已有的数据仓库上直接运行
SQL
或者
HiveQL
,也可以使
用
SparkSQL
直接处理数据并生成
Hive
数据表。
1
4
标准的数据连接
支持标准化的
JDBC\ODBC
连接
,
方便和各种数据进行数据交换
实时效果反馈
1.
关于
SparkSQL
特点的描述,错误的是:
A
易整合:无缝的整合了
SQL
查询和
Spark
编程,随时用
SQL
或
DataFrame API
处理结构化数据。并且支持多语言
Java
、
Scala
、
Python
、
R
。
B
统一的数据访问:使用相同的方式连接不同的数据源或不同
的文件格式中的数据。
C
不兼容
Hive
。
D
支持标准化的
JDBC\ODBC
连接
,
方便和各种数据进行数据交
换。
答案:
1=>C
兼容
Hive
96.SPARKSQL_发展史
Hive
是早期唯一运行在
Hadoop
上的
SQL-on-Hadoop
工具。但
是
MapReduce
计算过程中大量的中间磁盘落地过程消耗了大量的
I/O
,降低的运行效率,为了提高
SQL-on-Hadoop
的效率,大量的
SQL-on-Hadoop
工具开始产生,其中表现较为突出的是:
Impala
、
Shark
、
Drill
。
其中
Shark
是伯克利实验室
Spark
生态环境的组件之一,是基于
Hive
所开发的工具。
Shark
对于
Hive
的太多依赖,制约了
Spark
各个
组件的相互集成,所以提出了
SparkSQL
项目。
SparkSQL
抛弃原有
Shark
的代码,汲取了
Shark
的一些优点,
如内存列存储(
In-Memory Columnar Storage
)、
Hive
兼容性
等,重新开发了
SparkSQL
代码;由于摆脱了对
Hive
的依赖性,
SparkSQL
无论在数据兼容、性能优化、组件扩展方面都得到了极大
的方便。
相关时间节点
1
2014
年
1.0
正式发布,
Shark
项目和
SparkSQL
项目的主持人
Reynold Xin
宣布:停止对
Shark
的开发,团队将所有资源放
SparkSQL
项目上,至此,
Shark
的发展画上了句话,但也因
此发展出两个支线:
SparkSQL
和
Hive on Spark
。
3
2
2015
年
1.3
发布
DataFrame
数据结构
,
沿用至今
3
2016
年
1.6
发布
Dataset
数据结构
(
带泛型的
DataFrame),
适
用于支持泛型的语言
Java
、
Scala
4
2016
年
2.0
统一了
Dataset
和
DataFrame,
以后只有
Dataset
了
, Python
用的
DataFrame
就是没有泛型的
Dataset
。
5
2019
年
3.0
发布, 性能大幅度提升,
SparkSQL
变化不大。
6
2021
年
3.2
发布,支持
Java
、
Python
、
Scala
、
R
总结:
SparkSQL
用于处理大规模结构化数据的计算引擎
1
SparkSQL
在企业中广泛使用,并性能极好。
2
SparkSQL
:使用简单、
API
统一、兼容
HIVE
、支持标准化
JDBC
和
ODBC
连接
3
SparkSQL 2014
年正式发布,当下使用最多的
2.3