Catalyst揭秘 Day6 Physical plan解析

Catalyst揭秘 Day6

Physical plan解析

物理计划是Spark和Sparksql相对比而言的,由于SparkSql是在Spark core上的一个抽象,物理化就是变成RDD,是SparkSql和Spark core之间的衔接点。sql

Physical Plan也是Catalyst变成Spark做业的最后一个阶段。大数据

生成SparkPlan

从代码,咱们能够看到SparkPlan的生成包含了两个步骤,首先会调用SparkPlanner的plan方法,生成SparkPlan,调用prepareForExecution的execute方法,再进行一次加工。
Snip20160725_1
Snip20160725_2ui

SparkPlanner继承自SparkStrategies,strategies是精髓。
Snip20160725_3spa

其执行在下面的plan方法,全部的strategies应用在plan上获得的physicalPlan,这个方法返回一个Iterator。
Snip20160725_4继承

修正SparkPlan

而在prepareForExecution中,咱们看到只是定了两个规则,主要是执行计划进行修正。
其中EnsureRequirements主要针对shuffle操做,确保先后的plan分区数兼容。
Snip20160725_6ip

执行SparkPlan

这些操做都是逻辑级别的,sparkplan最终都是调用execute方法生成RDD。rem

Snip20160725_7

欲知后事如何,且听下回分解!

DT大数据天天晚上20:00YY频道现场授课频道68917580spark

相关文章
相关标签/搜索