主页 > 新闻资讯 > 大数据学习:Spark SQL执行计划入门简介

大数据学习:Spark SQL执行计划入门简介

作者:张老师 浏览次数: 2021-04-19 17:29
在大数据学习阶段,Spark 框架是必学的一个组件,而Spark当中的Spark SQL部分,可以说是Spark当中的重点部分,学习期间需要花费相应的时间和精力去学习和掌握。今天的大数据学习分享,我们就主要来讲讲Spark SQL执行计划入门简介。

执行计划这个词大家都不会感到陌生,而且基本上只要是支持SQL的计算引擎,基本上都会有执行计划。而当要优化SparkSQL应用时,一定是要了解SparkSQL执行计划的。

Spark SQL执行计划是什么

简单来说,执行计划是将SQL转换为一组经过优化后的逻辑和物理操作。在Spark SQL中,执行计划就是经过一系列组件的处理、优化,将SQL转换为一组Job(DAG),再放入到Spark Executors中执行的过程。

大数据学习:Spark SQL执行计划入门简介

SparkSQL逻辑执行计划和物理执行计划

在Spark SQL中,执行计划是了解SQL执行详细信息的利器。它包含许多有用的信息,清晰地描述了计划是如何执行的。在我们发现某些SQL执行效率低下时,可以根据执行计划中的信息,来发现效率低下的问题,并可以修改部分SQL查询语句或者调整参数以获得更好的执行性能。

Spark SQL中的执行计划分为两种:

逻辑执行计划

逻辑执行计划是对需要执行的所有转换步骤的简单描述,并不涉及具体该怎么执行。SparkContext负责生成和保存逻辑执行计划。逻辑执行计划是对特定的表进行一系列的转换操作,例如:Join、Filter、where、groupby等等,它描述的是SQL语句想要的执行图。

物理执行计划

物理执行计划是确定连接的类型、分区的数量、过滤器、where、groupBy子句的执行顺序等等。

SparkSQL执行计划生成流程

核心的执行过程一共有5个步骤:

大数据学习:Spark SQL执行计划入门简介

这些操作和计划都是Spark SQL自动处理的,Spark SQL会议最优地方式来执行编写的SQL语句。

这几个步骤的操作会生成各种计划:

Unresolved逻辑执行计划

Resolved逻辑执行计划

优化后的逻辑执行计划

物理执行计划

Spark 3.0生成执行计划

从3.0开始,explain方法有一个新的参数mode,该参数可以指定以什么样的格式展示执行计划:

explain(mode=”simple”):只展示物理执行计划。

explain(mode=”extended”):展示物理执行计划和逻辑执行计划。

explain(mode=”codegen”):展示要Codegen生成的可执行Java代码。

explain(mode=”cost”):展示优化后的逻辑执行计划以及相关的统计。

explain(mode=”formatted”):以分隔的方式输出,它会输出更易读的物理执行计划,并展示每个节点的详细信息。

关于大数据学习,Spark SQL执行计划入门,以上就为大家做了简单的介绍了。Spark SQL在Spark框架当中的重要程度不必多说,这个部分的学习,也需要大家相应的做好规划。成都加米谷大数据,专业大数据培训机构,大数据开发,数据分析与挖掘,零基础学习班本月正在招生中,课程大纲及试听课程可联系客服预约!
热点排行
推荐文章
立即申请>>