SparkSQL(1)——Spark SQL概述

spark sql发展

Shark是一个为Spark设计的大规模数据仓库系统,它与Hive兼容。
Shark建立在Hive的代码基础上,并通过将Hive的部分物理执行计划交换出来。这个方法使得Shark的用户可以加速Hive的查询。
但是Shark继承了Hive的大且复杂的代码使得Shark很难优化和维护,同时Shark依赖于Spark的版本。
随着性能优化的上限,以及集成SQL的一些复杂分析功能,发现Hive的MapReduce设计的框架限制了Shark的发展。
在2014年7月1日的Spark Summit上,Databricks宣布终止对Shark的开发,将重点放到Spark SQL上。

spark sql是什么?

Spark SQL is Apache Spark’s module for working with structured data.

—— http://spark.apache.org/sql/

Spark SQL是Spark处理结构化数据的一个模块。
它提供了一个编程抽象叫做DataFrame,作为分布式SQL查询引擎的作用。
Spark SQL有多种使用方式:包括SQL、DataFrames API和Datasets API。
相比于Spark RDD API,Spark SQL包含了对结构化数据和在其上运算的更多信息,Spark SQL使用这些信息进行了额外的优化,使对结构化数据的操作更加高效和方便。

Spark SQL的特性

易整合

将sql查询与spark程序无缝混合,可以使用java、scala、python、R等语言的API操作。


Integrated
Seamlessly mix SQL queries with Spark programs.

统一的数据访问

以相同的方式连接到任何数据源。


Uniform Data Access
Connect to any data source the same way.

兼容Hive

支持hiveSQL的语法。


Hive Integration
Run SQL or HiveQL queries on existing warehouses.
SparkSQL(1)——Spark SQL概述

标准的数据连接

可以使用行业标准的JDBC或ODBC连接。


Standard Connectivity
Connect through JDBC or ODBC.
SparkSQL(1)——Spark SQL概述