Spark 之 SparkSessionExtensions

SparkSessionExtensions

org.apache.spark.sql.internal.BaseSessionStateBuilder

复制代码
  /**
   * Session extensions defined in the [[SparkSession]].
   */
  protected def extensions: SparkSessionExtensions = session.extensions

  /**
   * Custom strategies to add to the planner. Prefer overriding this instead of creating
   * your own Planner.
   *
   * Note that this may NOT depend on the `planner` function.
   */
  protected def customPlanningStrategies: Seq[Strategy] = {
    extensions.buildPlannerStrategies(session)
  }

  protected def columnarRules: Seq[ColumnarRule] = {
    extensions.buildColumnarRules(session)
  }

  protected def adaptiveRulesHolder: AdaptiveRulesHolder = {
    new AdaptiveRulesHolder(
      extensions.buildQueryStagePrepRules(session),
      extensions.buildRuntimeOptimizerRules(session),
      extensions.buildQueryStageOptimizerRules(session),
      extensions.buildQueryPostPlannerStrategyRules(session))
  }

  protected def planNormalizationRules: Seq[Rule[LogicalPlan]] = {
    extensions.buildPlanNormalizationRules(session)
  }
extensions 使用的地方

org.apache.spark.sql.execution.QueryExecution.scala

复制代码
      ApplyColumnarRulesAndInsertTransitions(
        sparkSession.sessionState.columnarRules, outputsColumnar = false),
相关推荐
阿水实证通13 分钟前
能源经济大赛选题推荐:新能源汽车试点城市政策对能源消耗的负面影响——基于技术替代效应的视角
大数据·人工智能·汽车
TomCode先生1 小时前
SaaS版MES系统PC端后台功能清单与设计说明
大数据
爱吃烤鸡翅的酸菜鱼2 小时前
深度掌握 Git 分支体系:从基础操作到高级策略与实践案例
分布式·git·后端·gitee·github
jason成都2 小时前
postgresql分区表代码创建方案
大数据
yenggd4 小时前
vxlan-bgp-evnp分布式网关配置案例
网络·分布式·华为
程序_白白10 小时前
RabbitMQ中Consumer的可靠性
分布式·rabbitmq
RunningShare10 小时前
千万级用户电商平台,Flink实时推荐系统如何实现毫秒级延迟?
大数据·flink·推荐系统·ab测试
INFINI Labs11 小时前
如何使用 INFINI Gateway 对比 ES 索引数据
大数据·elasticsearch·gateway·easysearch
東雪蓮☆15 小时前
Filebeat+Kafka+ELK 日志采集实战
分布式·elk·kafka
努力买辣条15 小时前
KafKa概念与安装
分布式·kafka