tableExists

检查具有指定名称的表或视图是否存在。 这可以是临时视图或表/视图。

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