【问题标题】:Delete __HIVE_DEFAULT_PARTITION__ USING spark Notebook使用 spark Notebook 删除 __HIVE_DEFAULT_PARTITION__
【发布时间】:2022-12-11 12:17:52
【问题描述】:

使用 spark 笔记本尝试了几个小时的所有操作,以删除我的 delta lake 表中列分区值为 __HIVE_DEFAULT_PARTITION__ 的记录。我想通了并将发布答案。作为记录,我的分区列名为 Period。 当您的分区列具有 NULL 值时会发生这种情况。

【问题讨论】:

    标签: apache-spark pyspark azure-synapse spark-notebook


    【解决方案1】:

    确保在您运行此命令时没有其他笔记本正在更新 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)
    

    【讨论】:

      猜你喜欢
      • 2020-06-30
      • 2023-03-09
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-21
      相关资源
      最近更新 更多