Catalog.
tableExists
Check if the table or view with the specified name exists. This can either be a temporary view or a table/view.
New in version 3.3.0.
name of the table to check existence. If no database is specified, first try to treat tableName as a multi-layer-namespace identifier, then try tableName as a normal table name in the current database if necessary.
tableName
Changed in version 3.4.0: Allow tableName to be qualified with catalog name when dbName is None.
dbName
name of the database to check table existence in.
Indicating whether the table/view exists
Examples
This function can 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
Using the fully qualified names for views.
>>> spark.catalog.tableExists("default.view1") True >>> spark.catalog.tableExists("spark_catalog.default.view1") True >>> spark.catalog.tableExists("view1", "default") True >>> _ = spark.sql("DROP VIEW view1")
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