Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Динамическое удаление файлов может значительно повысить производительность многих запросов в таблицах Delta Lake. Оптимизатор запросов активирует динамическое удаление файла для запросов, содержащих инструкции фильтра или WHERE предложения. Для динамического отсечения файлов в операторах MERGE, UPDATE и DELETE требуется вычислительный ресурс с поддержкой Photon. Для операторов SELECT Photon обеспечивает более широкие и более надёжные возможности динамической фильтрации файлов. Без Photon динамическое отсечение файлов может по-прежнему применяться к инструкциям SELECT в зависимости от структуры запроса и плана выполнения.
Динамическое удаление файлов особенно эффективно для несекционированных таблиц или для соединений с несекционированными столбцами. Влияние динамической очистки файлов часто связано с кластеризацией данных, поэтому рекомендуется использовать «жидкую кластеризацию», чтобы максимально увеличить выгоду. См. раздел "Использование кластеризации жидкости" для таблиц.
Для ознакомления с фоновыми сведениями и вариантами использования динамической очистки файлов см. более быстрые SQL-запросы в Delta Lake с динамической очисткой файлов.
Конфигурация
Динамическая очистка файлов управляется следующими параметрами конфигурации Apache Spark:
-
spark.databricks.optimizer.dynamicFilePruning(по умолчанию —true): основной флаг, который направляет оптимизатор на применение фильтров. Если задано значениеfalse, динамическое удаление файлов не будет действовать. -
spark.databricks.optimizer.deltaTableSizeThreshold(значение по умолчанию —10,000,000,000 bytes (10 GB)): представляет минимальный размер таблицы Delta (в байтах) на стороне пробы соединения, необходимой для активации динамической очистки файлов. Если размер пробы не очень большой, вероятно, не стоит снижать фильтры, и мы можем просто просканировать всю таблицу. Размер таблицы Delta можно найти, выполнив командуDESCRIBE DETAIL table_name, а затем просмотрев столбецsizeInBytes. -
spark.databricks.optimizer.deltaTableFilesThreshold(значение по умолчанию —10): представляет количество файлов таблицы Delta на стороне зонда соединения, необходимого для активации динамической очистки файлов. Если боковая таблица пробы содержит меньше файлов, чем пороговое значение, динамическая обрезка файлов не запускается. Если таблица содержит только несколько файлов, возможно, не стоит включить динамическое удаление файлов. Размер таблицы Delta можно найти, выполнив командуDESCRIBE DETAIL table_name, а затем просмотрев столбецnumFiles.