recoverPartitions

恢复给定表的所有分区并更新目录。

Syntax

recoverPartitions(tableName: str)

参数

参数 类型 Description
tableName str 要获取的表的名称。

注释

仅适用于已分区表,不适用于视图。

示例

# The example below creates a partitioned table against the existing directory of
# the partitioned table. After that, it recovers the partitions.
import tempfile
with tempfile.TemporaryDirectory(prefix="recoverPartitions") as d:
    _ = spark.sql("DROP TABLE IF EXISTS tbl1")
    spark.range(1).selectExpr(
        "id as key", "id as value").write.partitionBy("key").mode("overwrite").save(d)
    _ = spark.sql(
         "CREATE TABLE tbl1 (key LONG, value LONG)"
         "USING parquet OPTIONS (path '{}') PARTITIONED BY (key)".format(d))
    spark.table("tbl1").show()
    spark.catalog.recoverPartitions("tbl1")
    spark.table("tbl1").show()
# +-----+---+
# |value|key|
# +-----+---+
# +-----+---+
# +-----+---+
# |value|key|
# +-----+---+
# |    0|  0|
# +-----+---+
_ = spark.sql("DROP TABLE tbl1")