主页 > 新闻资讯 > Spark SQL教程:Spark SQL学习入门

Spark SQL教程:Spark SQL学习入门

作者:张老师 浏览次数: 2020-02-12 18:50
在Spark生态圈当中,Spark SQL可以说是非常重要的一个模块,为Spark系统提供交互式查询。而Spark SQL对于Spark系统的重要性,就相当于Hive对Hadoop系统的重要性,因此是Spark学习当中的重点之一。今天,我们就为大家分享一下Spark SQL教程,给大家一些学习入门的参考。

Spark SQL教程

Spark SQL是Spark的分布式SQL查询引擎,主要由Catalyst优化,Spark SQL内核,Hive支持三部分组成。Spark SQL处理结构化数据,比较关键的两个概念叫做DataFrame和DataSet。

什么是DataFrames?

与RDD类似,DataFrame是一个分布式数据容器。DataFrame除了记录数据以外,还记录数据的结构信息,即schema。与Hive类似,DataFrame也支持嵌套数据类型(struct、array和map)。从API易用性的角度上看,DataFrame API提供的是一套高层的关系操作,比函数式的RDD API要更加友好,门槛更低。

Spark SQL的架构是什么样的?

使用Sql Parser对SQL语句进行解析,生成Unresolved逻辑计划(没有提取schema信息)。

使用Catalyst分析器,结合数据字典(catalog)进行绑定,生成Analyzed逻辑计划,在此过程中,Schema Catalog则要提取schema信息。

使用Catalyst优化器对Analyzed逻辑计划进行优化,按照优化规则得到Optimized逻辑计划。

接着和Spark Planner交互,使用相应的策略将逻辑计划转换为物理计划,然后调用next函数,生成可执行物理计划。

调用toDF,最后生成DataFrame。

Spark SQL作为Spark系统的交互式查询支持模块,具备明显的优势。

兼容多种数据格式,包括parquet文件,HIve表,JSON文件等;支持多种语言操作,包括Java、Scala、Python、R语言等;方便扩展,优化器和解析器都可以重新定义;采用内存列式存储,动态字节码生成等技术,支持内存缓存数据。

关于Spark SQL教程,以上就是一个简单的入门介绍了,在Spark框架学习当中,需要掌握Spark SQL对于整个系统的价值所在,还要理解其原理和技术支持。成都加米谷大数据,大数据技术分享,大数据培训班2020春季班正在招生中,课程详情可联系客服获取!
热点排行
推荐文章
立即申请>>