Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Прогнозный ввод-вывод — это коллекция оптимизаций Azure Databricks, которые повышают производительность взаимодействия с данными. Возможности прогнозного ввода-вывода группируются в следующие категории:
- Ускорение чтения сокращает время, необходимое для сканирования и чтения данных.
- Ускорение обновлений сокращает объем данных, которые необходимо перезаписать во время обновлений, удалений и слияний.
Прогнозный ввод-вывод является эксклюзивным для модуля Photon в Azure Databricks.
Использование прогнозного ввода-вывода для ускорения операций чтения
Прогнозный ввод-вывод используется для ускорения сканирования и фильтрации данных для всех операций с поддерживаемыми типами вычислений.
Внимание
Прогнозные операции чтения ввода-вывода поддерживаются бессерверными и профессиональными типами хранилищ SQL, а также кластерами с ускорением Photon под управлением Databricks Runtime 11.3 LTS и более поздних версий.
Прогнозный ввод-вывод улучшает производительность сканирования, применяя методы глубокого обучения для выполнения следующих действий:
- Определите наиболее эффективный шаблон доступа для чтения данных и сканирование только необходимых данных.
- Исключите декодирование столбцов и строк, которые не требуются для создания результатов запроса.
- Вычислите вероятности критериев поиска в выборочных запросах, соответствующих строке. При выполнении запросов мы используем эти вероятности для предсказания того, где появится следующая строка соответствия, и считываем только эти данные из облачного хранилища.
Использование прогнозного ввода-вывода для ускорения обновлений
Прогнозные операции ввода-вывода для обновлений используются автоматически для всех таблиц с векторами удаления, включенными с помощью следующих типов вычислений с поддержкой Photon:
- Бессерверные хранилища SQL.
- Профессиональные SQL-склады.
- Кластеры под управлением Databricks Runtime 14.0 и более поздних версий.
Примечание.
Поддержка прогнозных операций ввода-вывода для обновлений присутствует в Databricks Runtime 12.2 LTS и выше, но Databricks рекомендует использовать 14.0 и выше для оптимальной производительности.
См. раздел " Что такое векторы удаления?".
Внимание
Параметр администратора рабочей области управляет автоматическим включением векторов удаления для новых таблиц Delta. См. автоактивацию векторов удаления.
Вы можете включить поддержку векторов удаления в таблице Delta Lake, задав свойство таблицы Delta Lake. Векторы удаления можно включить во время создания таблицы или изменить существующую таблицу, как показано в следующих примерах:
CREATE TABLE <table-name> [options] TBLPROPERTIES ('delta.enableDeletionVectors' = true);
ALTER TABLE <table-name> SET TBLPROPERTIES ('delta.enableDeletionVectors' = true);
Предупреждение
При включении векторов удаления обновляется версия протокола таблицы. После обновления таблица не будет читаема клиентами Delta Lake, которые не поддерживают векторы удаления. См. сведения о совместимости функций Delta Lake и протоколах.
Список клиентов, поддерживающих векторы удаления, см. в разделе Совместимость с клиентами Delta.
В Databricks Runtime 14.1 и более поздних версиях можно удалить функцию таблицы векторов удаления, чтобы обеспечить совместимость с другими клиентами Delta. См. Управление функцией удаления таблицы Delta Lake и понижение протокола таблицы.
Предсказательная обработка ввода-вывода использует векторы удаления для ускорения обновлений за счет сокращения частоты полных перезаписей файлов при модификации данных в таблицах Delta. Предсказательное ввода-вывода оптимизирует DELETE
, MERGE
и UPDATE
операции.
Вместо перезаписи всех записей в файле данных при обновлении или удалении любой записи прогнозный ввод-вывод использует векторы удаления для указания того, что записи были удалены из целевых файлов данных. Дополнительные файлы данных используются для указания обновлений.
Последующие операции чтения определяют состояние таблицы, применяя отмеченные изменения к самой актуальной версии таблицы.
Внимание
Прогнозные обновления ввода-вывода разделяют все ограничения с векторами удаления. В Databricks Runtime 12.2 LTS и больше существуют следующие ограничения:
- Delta Sharing не поддерживается в таблицах с включенными векторами удаления.
- Невозможно создать файл манифеста для таблицы с векторами удаления. Запустите
REORG TABLE ... APPLY (PURGE)
и убедитесь, что параллельные операции записи не выполняются для создания манифеста. - Невозможно добавочно создавать файлы манифеста для таблицы с включенными векторами удаления.