首页 > 解决方案 > 使用python截断Databricks中的增量表

问题描述

这里给出了针对 Python 和 SQL 的Delta 表删除操作。此处给出了使用 SQL 进行截断。但找不到 Python 截断表的文档。如何为 Databricks 中的增量表执行此操作?

标签: pythonpysparkdatabricksdelta-lake

解决方案


并非所有内容都作为 Python 或 Java/Scala 的函数公开。有些操作是仅限 SQL 的,OPTIMIZE例如。如果要截断表,有两种选择:

  1. 采用
spark.sql("TRUNCATE TABLE <name>")

或者

spark.sql("TRUNCATE TABLE delta.`<path>`")
  1. 在覆盖模式下使用读取 + 写入空数据帧模拟截断:
df = spark.read.format("delta").load("<path>")
df.limit(0).write.mode("overwrite").format("delta").save("<path>")

推荐阅读