如何检查 PySpark 中是否存在临时视图?

Ale*_*x B 6 pyspark

我了解如何检查 PySpark 中的表是否存在:

>>> spark.catalog.setCurrentDatabase("staging")
>>> 'test_table' in sqlContext.tableNames()
True
Run Code Online (Sandbox Code Playgroud)

但是观点呢?如果它像这样创建:

df = sqlContext.sql("SELECT * FROM staging.test_table")
df.createOrReplaceTempView("test_view")
df.persist(p.persistLevel)
Run Code Online (Sandbox Code Playgroud)

如何检查代码中是否存在“测试视图”?

Ali*_*lli 6

您可以使用 sqlContext.tableNames 和 sqlContext.tables

>>> sqlContext.registerDataFrameAsTable(df, "table1")
>>> "table1" in sqlContext.tableNames()
True
>>> "table1" in sqlContext.tableNames("default")
True
Run Code Online (Sandbox Code Playgroud)