CACHE TABLE
Область применения: Databricks Runtime
Кэширует содержимое таблицы или выходные данные запроса на заданном уровне хранилища в кэше Apache Spark. Если запрос кэшируется, для этого запроса создается временное представление. Это позволяет сократить число проверок исходных файлов при последующих запросах.
Синтаксис
CACHE [ LAZY ] TABLE table_name
[ OPTIONS ( 'storageLevel' [ = ] value ) ] [ [ AS ] query ]
Сведения о различиях между кэшированием дисков и кэшем Apache Spark см. в кэше дисков и Spark.
Параметры
LAZY
Выполняет кэширование только при первом использовании таблицы, а не сразу при его включении.
-
Идентифицирует разностную таблицу или представление для кэширования. Имя не должно включать темпоральную спецификацию или спецификацию параметров. Если не удается найти таблицу 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
не задано явным образом в предложенииOPTIONS
, по умолчанию дляstorageLevel
устанавливается значениеMEMORY_AND_DISK
.query
Запрос, создающий строки, которые нужно кэшировать. Он может быть представлен в одном из следующих форматов:
- Инструкция
SELECT
- Инструкция
TABLE
- Инструкция
FROM
- Инструкция
Примеры
> CACHE TABLE testCache OPTIONS ('storageLevel' 'DISK_ONLY') SELECT * FROM testData;