【发布时间】:2022-12-11 12:17:52
【问题描述】:
使用 spark 笔记本尝试了几个小时的所有操作,以删除我的 delta lake 表中列分区值为 __HIVE_DEFAULT_PARTITION__ 的记录。我想通了并将发布答案。作为记录,我的分区列名为 Period。
当您的分区列具有 NULL 值时会发生这种情况。
【问题讨论】:
标签: apache-spark pyspark azure-synapse spark-notebook
使用 spark 笔记本尝试了几个小时的所有操作,以删除我的 delta lake 表中列分区值为 __HIVE_DEFAULT_PARTITION__ 的记录。我想通了并将发布答案。作为记录,我的分区列名为 Period。
当您的分区列具有 NULL 值时会发生这种情况。
【问题讨论】:
标签: apache-spark pyspark azure-synapse spark-notebook
确保在您运行此命令时没有其他笔记本正在更新 delta lake 表。 我表中的分区列名为 Period。 sourceFile 是一个变量,包含要生效的存储帐户容器和文件夹的位置。
from pyspark.sql.functions import *
from pyspark.sql.types import *
spark.conf.set("spark.databricks.delta.retentionDurationCheck.enabled",False)
from delta.tables import *
from pyspark.sql.functions import *
deltaTable = DeltaTable.forPath(spark, sourceFile)
deltaTable.delete("Period is NULL")
deltaTable.vacuum(0)
【讨论】: