我正在学习 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
的实例。
它们有什么区别?
它们有什么区别?
tl;博士 无。
线是你理解中缺失的部分:
private def sessionCatalog: SessionCatalog = sparkSession.sessionState.catalog
换句话说,
SparkSession.catalog
创建了一个在幕后使用CatalogImpl
的sparkSession.sessionState.catalog
。