zoukankan      html  css  js  c++  java
  • Catalyst揭秘 Day6 Physical plan解析

    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

  • 相关阅读:
    es操作
    MySQL逻辑架构
    ceshimd
    mysql资料
    已解决 : VMware Workstation 与 Hyper-V 不兼容。请先从系统中移除 Hyper-V 角色
    MySQL数据库操作
    phpstorm配置laravel语法提示
    MySQL日志之慢查询日志(slow-log)
    456
    topcoder srm 553
  • 原文地址:https://www.cnblogs.com/dt-zhw/p/5705530.html
Copyright © 2011-2022 走看看