【问题标题】:PySpark Overwrite Approach issue Same tablePySpark 覆盖方法问题同一张表
【发布时间】:2020-12-02 15:29:18
【问题描述】:

我也在尝试覆盖表的哪一部分源代码。正如我们所知,这两种情况都不能在同一张桌子上完成。

所以我创建了 Spark 临时表并尝试覆盖配置单元表,但我仍然遇到同样的错误。 然后我尝试创建物理配置单元表(临时目的并每次都覆盖)然后覆盖实际表。它工作正常。但是当我第二次尝试时出现错误错误如下:


df.registerTempTable("temp_actual")
spark.sql("insert overwrite table schema.temp_actual select * from temp_actual")
spark.sql(insert overwrite table schema.actual select * from schema.temp_actual")

Error:
Cannot create the managed table(schema.temp_actual) associated location <path> is already exists schema.temp.actual.

【问题讨论】:

    标签: pyspark hive


    【解决方案1】:

    试试这个属性:

    spark.conf.set("spark.sql.legacy.allowCreatingManagedTableUsingNonemptyLocation","true")
    

    或者更好地删除目录,因为在 spark 3.0 中这个属性将不起作用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多