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),
相关推荐
Kika写代码1 小时前
【大数据技术基础】 课程 第8章 数据仓库Hive的安装和使用 大数据基础编程、实验和案例教程(第2版)
大数据·数据仓库·hive
ProtonBase2 小时前
分布式 Data Warebase - 构筑 AI 时代数据基石
大数据·数据库·数据仓库·人工智能·分布式·数据分析·数据库系统
Mephisto.java2 小时前
【大数据学习 | Spark-Core】Spark的分区器(HashPartitioner和RangePartitioner)
大数据·elasticsearch·oracle·spark·sqlite·flume·memcached
叶子上的考拉3 小时前
Spark SQL操作
大数据·sql·spark
天冬忘忧4 小时前
Kafka 分区分配及再平衡策略深度解析与消费者事务和数据积压的简单介绍
分布式·kafka
sleetdream4 小时前
Windows Pycharm 远程 Spark 开发 PySpark
pycharm·spark
Qspace丨轻空间4 小时前
气膜场馆照明设计:科技与环保的完美结合—轻空间
大数据·科技·生活·娱乐
cab55 小时前
聊一聊Elasticsearch的索引(1)
大数据·elasticsearch·搜索引擎
时差9535 小时前
使用flink编写WordCount
java·大数据·开发语言·flink