SparkSession.catalog 和 SparkSession.sessionState.catalog 有什么区别?

问题描述 投票:0回答:1

我正在学习 Spark,对 Spark 的目录感到困惑。

我在SparkSession中找到了一个catalog,它是CatalogImpl的一个实例,如下

  /**
   * Interface through which the user may create, drop, alter or query underlying
   * databases, tables, functions etc.
   *
   * @since 2.0.0
   */
  @transient lazy val catalog: Catalog = new CatalogImpl(self)

我发现

SparkSession.sessionState
中有一个目录,它是
SessionCatalog
的实例。

它们有什么区别?

apache-spark apache-spark-sql
1个回答
2
投票

它们有什么区别?

tl;博士 无。


CatalogImpl中的

线
是你理解中缺失的部分:

private def sessionCatalog: SessionCatalog = sparkSession.sessionState.catalog

换句话说,

SparkSession.catalog
创建了一个在幕后使用
CatalogImpl
sparkSession.sessionState.catalog

© www.soinside.com 2019 - 2024. All rights reserved.