Размер таблицы в Azure Databricks

Размер таблицы, сообщаемый для таблиц Delta Lake и Apache Iceberg, отличается от общего размера соответствующих каталогов файлов в облачном хранилище объектов. Эти форматы данных сохраняют предыдущие версии файлов данных, чтобы разрешить запросы на перемещение по времени. Файлы данных удаляются только когда VACUUM запускается после истечения срока хранения. См. раздел "Удаление неиспользуемых файлов данных с помощью вакуума".

Почему размер таблицы отличается от размера каталога

Размеры таблиц, отображаемые в Azure Databricks в пользовательском интерфейсе и с помощью команд DESCRIBE, соответствуют общему размеру файлов данных в хранилище для файлов, на которые ссылается текущая версия таблицы. Большинство операций, которые записываются в таблицы, требуют перезаписи базовых файлов данных и хранения старых файлов данных, чтобы разрешить запросы на поездку во времени.

Примечание.

При регулярном удалении или обновлении записей в таблицах векторы удаления могут ускорить запросы и уменьшить общий размер файлов данных. См. векторы удаления в Databricks.

Метрики вычисления для хранилища таблицы

Область применения:помечено «да» Databricks Runtime 18.0 и более поздних версий

Чтобы понять, почему общий размер хранилища отличается от размера таблицы, используйте ANALYZE TABLE … COMPUTE STORAGE METRICS. Эта команда содержит подробные сведения о выделении хранилища, помогая вам:

  • Определение возможностей оптимизации затрат: узнайте, сколько хранилища можно восстановить с помощью VACUUM
  • Анализ затрат на поездку по времени: сведения о затратах на хранение исторических данных
  • Отслеживание шаблонов хранения. Мониторинг развития хранилища таблиц с течением времени путем периодического выполнения команды
  • Аудит хранилищ данных по всем таблицам: выполняйте команду в цикле для анализа всей инфраструктуры данных.

Команда возвращает комплексные метрики, включая:

  • Общий размер хранилища: полный объем данных, метаданных и журналов
  • Активные данные: размер текущей версии таблицы
  • Вакуумные данные: пространство, которое можно восстановить
  • Данные о путешествиях во времени: исторические данные для резервных копий

Это особенно полезно для управляемых таблиц каталога Unity, где Azure Databricks автоматически управляет хранилищем с помощью прогнозной оптимизации.

См. ANALYZE TABLE МЕТРИКИ ВЫЧИСЛИТЕЛЬНЫХ ХРАНИЛИЩ для полного синтаксиса и примеров.

Использование прогнозной оптимизации для управления размером данных

Databricks рекомендует использовать управляемые таблицы каталога Unity с включенной прогнозной оптимизацией. При использовании управляемых таблиц и прогнозной оптимизации Databricks автоматически выполняет OPTIMIZE и VACUUM команды, чтобы предотвратить накопление неиспользуемых файлов данных. Ожидается, что размер таблицы всегда отличается от текущей версии и общего размера файлов данных в облачном хранилище объектов. Файлы данных, на которые не ссылается текущая версия, требуются для поддержки запросов на поездки по времени. См. предсказательную оптимизацию для управляемых таблиц каталога Unity.

VACUUM Метрики хранилища

При очистке неиспользуемых файлов данных с помощью VACUUM или использования DRY RUN для предварительного просмотра файлов, установленных для удаления, метрики сообщают о количестве файлов и размера удаленных данных. Размер и количество файлов, удаляемых с помощью VACUUM, сильно варьируются, однако размер удалённых файлов нередко превышает совокупный размер текущей версии таблицы.

OPTIMIZE Метрики хранилища

Когда OPTIMIZE запускается на предназначенной таблице, новые файлы данных объединяют записи из существующих файлов данных. Изменения, зафиксированные во время OPTIMIZE, затрагивают только организацию данных, и само содержимое данных не изменяется. Общий размер базовых файлов данных для таблицы увеличивается после OPTIMIZE выполнения, так как новые сжатые файлы сосуществуют в содержаемом каталоге со старыми неоптимизованными файлами данных.

Размер таблицы, сообщаемой после OPTIMIZE, обычно меньше размера перед запуском OPTIMIZE, так как общий размер файлов данных, на которые ссылается текущая версия таблицы, уменьшается с сжатием данных. Чтобы удалить базовые файлы данных, VACUUM необходимо выполнить после прохождения порогового значения хранения.

Примечание.

Аналогичные метрики могут отображаться для таких операций, как REORG TABLE или DROP FEATURE. Все операции, требующие перезаписи файлов данных, увеличивают общий размер данных в содержаемом каталоге, пока VACUUM не удаляет файлы данных, на которые больше не ссылается текущая версия таблицы.