CACHE TABLE

適用於:檢查標示為是 Databricks Runtime

使用 Apache Spark 快取中指定儲存層級的查詢資料表或輸出快取內容。 如果快取查詢,則會為此查詢建立暫存檢視。 這樣可減少未來查詢中源文件的掃描。

語法

CACHE [ LAZY ] TABLE table_name
  [ OPTIONS ( 'storageLevel' [ = ] value ) ] [ [ AS ] query ]

如需磁碟快取與 Apache Spark 快取之間的差異,請參閱 磁碟快取與 Spark 快取。

參數

  • 懶惰

    只有在第一次使用數據表時,才快取數據表,而不是立即快取。

  • table_name

    識別要快取的 Delta 數據表或檢視表。 名稱不得包含 時態規格。 如果找不到數據表,Azure Databricks 就會 引發TABLE_OR_VIEW_NOT_FOUND 錯誤。

  • OPTIONS ( 'storageLevel' [ = ] value )

    OPTIONS 具有索引鍵和值組的 storageLevel 子句。 使用 以外的 storageLevel 索引鍵時,會發出警告。 的有效選項 storageLevel 如下:

    • NONE
      • DISK_ONLY
      • DISK_ONLY_2
      • MEMORY_ONLY
      • MEMORY_ONLY_2
      • MEMORY_ONLY_SER
      • MEMORY_ONLY_SER_2
      • MEMORY_AND_DISK
      • MEMORY_AND_DISK_2
      • MEMORY_AND_DISK_SER
      • MEMORY_AND_DISK_SER_2
      • OFF_HEAP

    當 為 storageLevel設定無效的值時,會擲回例外狀況。 如果未 storageLevel 明確設定 using OPTIONS 子句,則預設值 storageLevel 會設定為 MEMORY_AND_DISK

  • query

    產生要快取之數據列的查詢。 它可以是下列其中一種格式:

    • 語句SELECT
    • 語句TABLE
    • 語句FROM

範例

> CACHE TABLE testCache OPTIONS ('storageLevel' 'DISK_ONLY') SELECT * FROM testData;