pyspark.sql.Catalog.tableExists¶
-
Catalog.
tableExists
(tableName: str, dbName: Optional[str] = None) → bool[source]¶ 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.
- Parameters
- tableNamestr
name of the table to check existence. If no database is specified, first try to treat
tableName
as a multi-layer-namespace identifier, then trytableName
as a normal table name in the current database if necessary.Changed in version 3.4.0: Allow
tableName
to be qualified with catalog name whendbName
is None.- dbNamestr, optional
name of the database to check table existence in.
- Returns
- bool
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