共用方式為


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 設定無效的值時,會拋出例外狀況。 如果未使用OPTIONS子句明確設定storageLevel,則預設storageLevel會設定為MEMORY_AND_DISK

  • query

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

    • 陳述SELECT
    • 敘述TABLE
    • 陳述FROM

範例

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