Catalyst揭秘 Day6 Physical plan解析
2016-07-25 22:17
148 查看
Catalyst揭秘 Day6
Physical plan解析
物理计划是Spark和Sparksql相对比而言的,因为SparkSql是在Spark core上的一个抽象,物理化就是变成RDD,是SparkSql和Spark core之间的衔接点。Physical Plan也是Catalyst变成Spark作业的最后一个阶段。
生成SparkPlan
从代码,我们可以看到SparkPlan的生成包含了两个步骤,首先会调用SparkPlanner的plan方法,生成SparkPlan,调用prepareForExecution的execute方法,再进行一次加工。SparkPlanner继承自SparkStrategies,strategies是精髓。
其执行在下面的plan方法,所有的strategies应用在plan上得到的physicalPlan,这个方法返回一个Iterator。
修正SparkPlan
而在prepareForExecution中,我们看到只是定了两个规则,主要是执行计划进行修正。其中EnsureRequirements主要针对shuffle操作,确保前后的plan分区数兼容。
执行SparkPlan
这些操作都是逻辑级别的,sparkplan最终都是调用execute方法生成RDD。欲知后事如何,且听下回分解!
DT大数据每天晚上20:00YY频道现场授课频道68917580相关文章推荐
- Linux 常 用 命 令
- 九:java中的线程池
- **MYSQL** 系列八
- mysql中的Union查询
- 【Mybatis】从JDBC到Mybatis的改进
- Java垃圾收集器知识整理
- **MYSQL** 系列七
- APP开发实战120-APP网络流量优化
- AngularJS 模型
- TCU-335xD直流充电桩计费控制单元 充电桩设计优良参考
- APP开发实战119-APP代码优化
- poj 1984 带权并查集
- Create a background service in Android
- Sublime Text+MinGW实现轻量级C语言开发环境
- POJ-1328-Radar Installation
- android-Notification.Action
- 支付宝接入方法
- Lua手动编译姿势
- APP开发实战118-APP音频文件优化
- CSS —— html布局选择与注意事项