Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Delta Lake — это оптимизированный уровень хранения, который предоставляет основу для таблиц в Lakehouse на платформе Databricks. Delta Lake — это программное обеспечение с открытым исходным кодом, которое расширяет возможности файлов данных Parquet с помощью журнала транзакций на основе файлов для ACID-транзакций и масштабируемой обработки метаданных. Delta Lake полностью совместим с API Apache Spark и разработан для тесной интеграции со структурированной потоковой передачей, что позволяет легко использовать одну копию данных для операций пакетной и потоковой передачи и обеспечения добавочной обработки в масштабе.
Delta Lake — это формат по умолчанию для всех операций в Azure Databricks. Если иное не указано, все таблицы в Azure Databricks — это разностные таблицы. Databricks первоначально разработал протокол Delta Lake и продолжает активно участвовать в проекте открытый код. Многие из оптимизаций и продуктов платформы Databricks опираются на гарантии, предоставляемые Apache Spark и Delta Lake. Для получения сведений об оптимизациях в Azure Databricks см. рекомендации по оптимизации в Azure Databricks.
Справочные сведения о командах Delta Lake SQL см. в разделе Инструкции Delta lake.
Журнал изменений в Delta Lake содержит четко определенный открытый протокол, который может использоваться любой системой для чтения журнала. См. раздел Протокол журнала транзакций Delta.
Начало работы с Delta Lake
Все таблицы в Azure Databricks по умолчанию являются дельта-таблицами. Независимо от того, используете ли вы DataFrames Apache Spark или SQL, вы получаете все преимущества Delta Lake просто за счет сохранения данных в хранилище данных с параметрами по умолчанию.
Примеры основных операций Delta Lake, таких как создание таблиц, чтение, запись и обновление данных, см. Руководство. Delta Lake.
Databricks содержит множество рекомендаций по лучшим методикам работы с Delta Lake.
Преобразование и загрузка данных в Delta Lake
Azure Databricks предоставляет ряд решений для ускорения и упрощения загрузки данных в Lakehouse.
Декларативные конвейеры Lakeflow:
Постепенное преобразование данных Parquet или Iceberg в Delta Lake
Одноразовое преобразование данных Parquet или Iceberg в Delta Lake
Полный список параметров приема см. в разделе "Стандартные соединители" в Lakeflow Connect.
Обновление и изменение таблиц Delta Lake
Атомарные транзакции с Delta Lake предоставляют множество вариантов обновления данных и метаданных. Databricks рекомендует избегать взаимодействия непосредственно с файлами данных и журналов транзакций в каталогах файлов Delta Lake, чтобы избежать повреждения таблиц.
- Delta Lake поддерживает обновления или вставки с помощью операции merge. См. вставку или обновление в таблицу Delta Lake, используя команду слияния.
- Delta Lake предоставляет множество вариантов выборочной перезаписи на основе фильтров и разделов. Смотрите выборочную перезапись данных с помощью Delta Lake.
- Вы можете вручную или автоматически обновить схему таблицы без перезаписи данных. См. Обновление схемы таблицы Delta Lake.
- Включение сопоставления столбцов для переименования или удаления столбцов без перезаписи данных. См. раздел "Переименование и удаление столбцов с сопоставлением столбцов в Delta Lake".
Инкрементные и потоковые рабочие нагрузки в Delta Lake
Delta Lake оптимизирован для структурированной потоковой передачи в Azure Databricks. Декларативные конвейеры Lakeflow расширяют собственные возможности с упрощенным развертыванием инфраструктуры, расширенным масштабированием и зависимостями управляемых данных.
- Чтение и запись потоков таблиц Delta
- Используйте поток изменений данных Delta Lake в Azure Databricks
Запрос предыдущих версий таблицы
Каждая запись в разностную таблицу создает новую версию таблицы. Журнал транзакций можно использовать для просмотра изменений в таблице и запроса предыдущих версий таблицы. См. раздел История работы с таблицами Delta Lake.
Усовершенствования схемы Delta Lake
Delta Lake проверяет схему при записи, гарантируя, что все данные, записанные в таблицу, соответствуют заданным требованиям.
- Обеспечение соблюдения схемы
- Ограничения в Azure Databricks
- Сгенерированные столбцы Delta Lake
- Обогащение таблиц Delta Lake с помощью пользовательских метаданных
Управление файлами и индексированием данных с помощью Delta Lake
Azure Databricks задает множество параметров по умолчанию для Delta Lake, влияющих на размер файлов данных и количество версий таблиц, которые хранятся в журнале. Delta Lake использует сочетание синтаксического анализа метаданных и макета физических данных, чтобы уменьшить количество отсканированных файлов для выполнения любого запроса.
- Использование жидкостной кластеризации для таблиц
- Пропуск данных для Delta Lake
- Оптимизация макета файла данных
- Удалите неиспользуемые файлы данных с помощью VACUUM
- Настройка Delta Lake для управления размером файла данных
Настройка и проверка параметров Delta Lake
Azure Databricks хранит все данные и метаданные для таблиц Delta Lake в облачном хранилище объектов. Многие конфигурации можно задать на уровне таблицы или в сеансе Spark. Вы можете просмотреть сведения о таблице Delta, чтобы узнать, какие параметры настроены.
- Просмотр сведений о таблице Delta Lake с помощью команды describe detail
- Справочник по свойствам таблицы Delta
Конвейеры данных с помощью Delta Lake и Декларативных конвейеров Lakeflow
Azure Databricks рекомендует пользователям использовать архитектуру медальона для обработки данных с помощью ряда таблиц по мере очистки и обогащения данных. Декларативные конвейеры Lakeflow упрощают рабочие нагрузки ETL благодаря оптимизированному выполнению и автоматическому развертыванию инфраструктуры и масштабированию.
Совместимость функций Delta Lake
Не все функции Delta Lake находятся во всех версиях Databricks Runtime. Сведения о версионировании Delta Lake см. в разделе "Совместимость функций Delta Lake и протоколы".
Документация по API Delta Lake
Для большинства операций чтения и записи в таблицах Delta можно использовать интерфейсы API DataFrame для Spark SQL или Apache Spark.
Инструкции по SQL, относящиеся к Delta Lake, см. в выражениях Delta Lake.
Azure Databricks обеспечивает совместимость на уровне двоичного кода с интерфейсами API Delta Lake в Databricks Runtime. Сведения о том, как просмотреть версию API Delta Lake, упакованную в каждой версии Databricks Runtime, см. в разделе «Системная среда» в соответствующей статье в заметках о выпуске Databricks Runtime. Документация по API Delta Lake для Python, Scala и Java см. в документации по OSS Delta Lake.