更新路徑

對包含指定資料來源路徑的任何 DataFrame 進行所有快取資料(及相關元資料)失效並重新整理。

語法

refreshByPath(path: str)

參數

參數 類型 說明
path str 刷新快取的路徑。

Examples

# The example below caches a table, and then removes the data.
import tempfile
with tempfile.TemporaryDirectory(prefix="refreshByPath") as d:
    _ = spark.sql("DROP TABLE IF EXISTS tbl1")
    _ = spark.sql(
        "CREATE TABLE tbl1 (col STRING) USING TEXT LOCATION '{}'".format(d))
    _ = spark.sql("INSERT INTO tbl1 SELECT 'abc'")
    spark.catalog.cacheTable("tbl1")
    spark.table("tbl1").show()
# +---+
# |col|
# +---+
# |abc|
# +---+

# Because the table is cached, it computes from the cached data as below.
spark.table("tbl1").count()
# 1

# After refreshing the table by path, it shows 0 because the data does not exist anymore.
spark.catalog.refreshByPath(d)
spark.table("tbl1").count()
# 0

_ = spark.sql("DROP TABLE tbl1")