如何删除非托管 Delta Lake 表

use*_*554 4 databricks azure-databricks delta-lake

我正在尝试删除使用 writestream 创建的 Delta Lake 表。我尝试删除表但失败

#table created as
df.writestream().outputmode("append").format("delta").start("/mnt/mytable")

#attempt to drop table
spark.sql("drop table '/mnt/mytable'")
Run Code Online (Sandbox Code Playgroud)

viv*_*ian 9

DROP TABLE IF EXISTS <unmanaged-table>    // deletes the metadata
dbutils.fs.rm("<your-s3-path>", true)   // deletes the data
Run Code Online (Sandbox Code Playgroud)

DROP TABLE <managed-table> // deletes the metadata and the data

您需要指定数据来删除非托管表中的数据,因为具有非托管表;Spark SQL 仅管理元数据,您可以控制数据位置。通过托管表,Spark SQL 可以管理元数据和数据,并且数据存储在您帐户中的 Databricks 文件系统 (DBFS) 中。因此,要删除非托管表的数据,您需要指定数据的路径。