检查具有指定名称的表或视图是否存在。 这可以是临时视图或表/视图。
Syntax
tableExists(tableName: str, dbName: str = None)
参数
| 参数 | 类型 | Description |
|---|---|---|
tableName |
str | 要检查是否存在的表的名称。 如果未指定任何数据库,请先尝试 tableName 被视为多层命名空间标识符,然后在必要时尝试 tableName 作为当前数据库中的普通表名。 当目录名称为 None 时 dbName ,可以使用目录名称限定。 |
dbName |
str,可选 | 要在其中检查表存在的数据库的名称。 |
退货
bool
指示表/视图是否存在。
示例
# Check if a table is defined or not.
spark.catalog.tableExists("unexisting_table")
# False
_ = spark.sql("DROP TABLE IF EXISTS tbl1")
_ = spark.sql("CREATE TABLE tbl1 (name STRING, age INT) USING parquet")
spark.catalog.tableExists("tbl1")
# True
# Using the fully qualified names for tables.
spark.catalog.tableExists("default.tbl1")
# True
spark.catalog.tableExists("spark_catalog.default.tbl1")
# True
spark.catalog.tableExists("tbl1", "default")
# True
_ = spark.sql("DROP TABLE tbl1")
# Check if views exist.
spark.catalog.tableExists("view1")
# False
_ = spark.sql("CREATE VIEW view1 AS SELECT 1")
spark.catalog.tableExists("view1")
# True
# Check if temporary views exist.
_ = spark.sql("CREATE TEMPORARY VIEW view1 AS SELECT 1")
spark.catalog.tableExists("view1")
# True
df = spark.sql("DROP VIEW view1")
spark.catalog.tableExists("view1")
# False