CatalogManager维护了所有Catalog实例的键值对信息,能够根据catalog名称返回对应的Catalog实例,其中有一个固定的名字叫spark_catalog,用于当前默认的Catalog实例实现,该示例就是V2SessionCatalog,它代理了普通的SessionCatalog,因此,在使用时,即使什么Catalog都不注册,Spark也会根据默认的Catalog实例加载Hive数据源。但是V2SessionC...
CatalogManager维护了所有Catalog实例的键值对信息,能够根据catalog名称返回对应的Catalog实例,其中有一个固定的名字叫spark_catalog,用于当前默认的Catalog实例实现,该示例就是V2SessionCatalog,它代理了普通的SessionCatalog,因此,在使用时,即使什么Catalog都不注册,Spark也会根据默认的Catalog实例加载Hive数据源。但是V2SessionC...
Spark 3.0将其扩展为使用外部catalog(我们将在第12章中进行简要讨论)。例如,在Spark应用程序中,创建SparkSession之后赋值成变量spark,你可以通过以下方法访问所有存储的元数据: // In Scala/Python spark.catalog.listDatabases() spark.catalog.listTables() spark.catalog.listColumns("us_delay_flights_tbl") 从本...
catalog: org.apache.spark.sql.catalog.Catalog = org.apache.spark.sql.internal.CatalogImpl@17308af1 Querying the databases 我们一旦创建好catalog对象之后,我们可以使用它来查询元数据中的数据库,catalog上的API返回的结果全部都是dataset scala> catalog.listDatabases().select("name").show(false) 19/07/17 ...
在Spark中,可以使用spark.catalog对象的listTables方法来获取当前SparkSession中的所有表的信息。该方法返回一个DataFrame,包含了表的一些基本信息,如表的名称、数据库名称、表的类型等。 为了获取表的分区信息,可以使用spark.catalog对象的listColumns方法来获取表的所有列的信息。该方法返回一个DataFrame,包含了列的一些...
Spark的早期版本是没有标准的API来访问这些元数据的。用户通常使用查询语句(比如show tables)来查询这些元数据。这些查询通常需要操作原始的字符串,而且不同元数据类型的操作也是不一样的。 这种情况在Spark 2.0中得到改变。Spark 2.0中添加了标准的API(称为catalog)来访问Spark SQL中的元数据。这个API既可以操作Spark...
.appName("CatalogApiTest") .getOrCreate() //查看spark sql应用用的是哪一种catalog //目前支持hive metastore 和in-memory两种 //spark-shell默认的值为hive //spark-shell --master spark://master:7077 --conf spark.sql.catalogImplementation=in-memory ...
Catalog Spark 的目录接口。 若要访问此功能,请使用 SparkSession.Catalog。 Database Spark 中的数据库,由ListDatabases中Catalog定义的 方法返回。 Function Spark 中的用户定义的函数,由ListFunctions中的Catalog方法返回。 Table Spark 中的表,由ListTables中的Catalog方法返回。
SparkSession类的catalog字段是Catalog类的一个对象,具有多种处理会话注册表和视图的方法。例如,Catalog的ListTables方法返回一个包含所有已注册表信息的Dataset: 会返回一个包含有关注册表“tableName”中列信息的Dataset,例如: 此外,可以使用DataSet的SelectExpr方法执行某些产生单列的SQL表达式,例如: ...
catalog.listTables() tables: org.apache.spark.sql.Dataset[org.apache.spark.sql.catalog.Table] = [name: string, database: string ... 3 more fields] 输出: 代码语言:javascript 代码运行次数:0 复制Cloud Studio 代码运行 display(tables) name database description tableType isTemporary person ...