博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Catalyst揭秘 Day6 Physical plan解析
阅读量:6519 次
发布时间:2019-06-24

本文共 665 字,大约阅读时间需要 2 分钟。

Catalyst揭秘 Day6

Physical plan解析

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

Physical Plan也是Catalyst变成Spark作业的最后一个阶段。

生成SparkPlan

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

Snip20160725_1
Snip20160725_2

SparkPlanner继承自SparkStrategies,strategies是精髓。

Snip20160725_3

其执行在下面的plan方法,所有的strategies应用在plan上得到的physicalPlan,这个方法返回一个Iterator。

Snip20160725_4

修正SparkPlan

而在prepareForExecution中,我们看到只是定了两个规则,主要是执行计划进行修正。

其中EnsureRequirements主要针对shuffle操作,确保前后的plan分区数兼容。
Snip20160725_6

执行SparkPlan

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

Snip20160725_7

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

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

转载于:https://www.cnblogs.com/dt-zhw/p/5705530.html

你可能感兴趣的文章
C#基础第五天
查看>>
uva 12325 枚举暴力 b
查看>>
POJ 3268 Silver Cow Party
查看>>
EMLS项目推进思考
查看>>
Eclipse快捷键 10个最有用的快捷键
查看>>
2018-2019-1 20165302 实验五 通讯协议设计
查看>>
Golang 知识点总结
查看>>
JAVA 8 特性
查看>>
算法设计 - LCS 最长公共子序列&&最长公共子串 &&LIS 最长递增子序列
查看>>
WebService之Axis2快速入门(7): Spring与axis整合发布为WebServic
查看>>
Uliweb查看模板调用关系
查看>>
C#与PHP通信压缩
查看>>
关于 Linux
查看>>
ios开发之导航控制器的原理
查看>>
《Netkiller Blockchain 手札》Hyperledger Fabric Java SDK Demo
查看>>
Linux系统_Centos7下安装Nginx
查看>>
数据库设计 Step by Step (6) —— 提取业务规则
查看>>
Redis客户端redisson实战
查看>>
连接到 JasperReports Server
查看>>
java处理高并发高负载类网站问题
查看>>