Spark面试知识点-SparkSQL(1)

0.介绍:

(1)Spark SQL的前身是Shark,即Hive on Spark,

1.SparkSQL特点:

(1)支持多种数据源:Hive,RDD,Parquet,JSON,JDBC等。

(2)多种性能优化技术:in-memory columnar storage,byte-code generation,cost model动态评估等

(3)组件扩展:对于SQL的语法解析器、分析器以及优化器,用户都可以自己重新开发,并且动态扩展。SparkSQL的性能对比Shark来说,又有了数倍的提升。

2.SparkSQL和DataFrame

(1)SparkSQL是Spark中的一个模块,主要用于进行结构化数据的胡处理。它提供了一个一个最核心的编程抽象,就是DataFrame。同时SparkSQL还可以作为分布式的SQL查询引擎。SparkSQL最重要的功能之一就是从Hive中查询数据。

(2)DataFrame可以理解为是以列的形式组织的分布式的数据集合,它和关系型数据库中的表非常相似,但是底层做了很多的优化。DataFrame可以通过很多源来构建,如结构化数据文件,Hive中的表,外部的关系型数据库以及RDD。

(3)Spark 在 RDD 基础上,提供了 DataFrame 和 Dataset 用户编程接口,并且在跨语言( Scala 、 Java 、Python 和 R)方面具有很好的支持 为了追求简化,降低开发人员的学习成本,从 Spark 2.0 开始, DataFrame 和 Dataset 进行了统一。

3.SparkContext

(1)SparkContext对象的创建

java版本:

scala 版本的对象创建

 

posted @ 2019-07-27 21:45  stone1234567890  阅读(955)  评论(0编辑  收藏  举报