CACHE TABLE
適用於: Databricks Runtime
使用 Apache Spark 快取中指定儲存層級的查詢資料表或輸出快取內容。 如果快取查詢,則會為此查詢建立暫存檢視。 這樣可減少未來查詢中源文件的掃描。
語法
CACHE [ LAZY ] TABLE table_name
[ OPTIONS ( 'storageLevel' [ = ] value ) ] [ [ AS ] query ]
如需磁碟快取與 Apache Spark 快取之間的差異,請參閱 磁碟快取與 Spark 快取。
參數
懶惰
只有在第一次使用數據表時,才快取數據表,而不是立即快取。
-
識別要快取的 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
明確設定 usingOPTIONS
子句,則預設值storageLevel
會設定為MEMORY_AND_DISK
。query
產生要快取之數據列的查詢。 它可以是下列其中一種格式:
- 語句
SELECT
- 語句
TABLE
- 語句
FROM
- 語句
範例
> CACHE TABLE testCache OPTIONS ('storageLevel' 'DISK_ONLY') SELECT * FROM testData;