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
設定無效的值時,會拋出例外狀況。 如果未使用OPTIONS
子句明確設定storageLevel
,則預設storageLevel
會設定為MEMORY_AND_DISK
。query
產生要快取之數據列的查詢。 它可以是下列其中一種格式:
- 陳述
SELECT
- 敘述
TABLE
- 陳述
FROM
- 陳述
範例
> CACHE TABLE testCache OPTIONS ('storageLevel' 'DISK_ONLY') SELECT * FROM testData;