Поделиться через


CACHE TABLE

Применимо к:выбрано Databricks Runtime

Кэширует содержимое таблицы или выходные данные запроса на заданном уровне хранилища в кэше Apache Spark. Если запрос кэшируется, для этого запроса создается временное представление. Это позволяет сократить число проверок исходных файлов при последующих запросах.

Синтаксис

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

Смотрите Кэш диска против кэша Spark, чтобы узнать о различиях между кэшированием на диске и кэшем Apache Spark.

Параметры

  • LAZY

    Кэшировать таблицу только при ее первом использовании, а не сразу.

  • 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 не задано явным образом в предложении OPTIONS, по умолчанию для storageLevel устанавливается значение MEMORY_AND_DISK.

  • query

    Запрос, создающий строки, которые нужно кэшировать. Он может быть представлен в одном из следующих форматов:

    • Инструкция SELECT
    • Инструкция TABLE
    • Заявление FROM

Примеры

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