refreshTable

지정된 테이블의 캐시된 모든 데이터와 메타데이터를 무효화하고 새로 고칩니다.

문법

refreshTable(tableName: str)

매개 변수

매개 변수 유형 설명
tableName str 가져올 테이블의 이름입니다. 카탈로그 이름으로 정규화할 수 있습니다.

예제

# The example below caches a table, and then removes the data.
import tempfile
with tempfile.TemporaryDirectory(prefix="refreshTable") 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, it shows 0 because the data does not exist anymore.
spark.catalog.refreshTable("tbl1")
spark.table("tbl1").count()
# 0

# Using the fully qualified name for the table.
spark.catalog.refreshTable("spark_catalog.default.tbl1")
_ = spark.sql("DROP TABLE tbl1")