Что такое Delta Lake?
Delta Lake — это оптимизированный уровень хранения, который предоставляет основу для tables в лейкхаусе на Databricks. Delta Lake — это открытый код программное обеспечение, которое расширяет файлы данных Parquet с помощью журнала транзакций на основе файлов для транзакций ACID и масштабируемой обработки метаданных. Delta Lake полностью совместим с API Apache Spark и разработан для тесной интеграции со структурированной потоковой передачей, что позволяет легко использовать одну копию данных для операций пакетной и потоковой передачи и обеспечения добавочной обработки в масштабе.
Delta Lake — это формат по умолчанию для всех операций в Azure Databricks. Если не указано иное, все tables в Azure Databricks — Delta tables. Databricks первоначально разработал протокол Delta Lake и продолжает активно участвовать в проекте открытый код. Многие из оптимизаций и продуктов платформы Databricks опираются на гарантии, предоставляемые Apache Spark и Delta Lake. Сведения об оптимизации в Azure Databricks см . в рекомендациях по оптимизации в Azure Databricks.
Справочные сведения о командах Delta Lake SQL см. в разделе Инструкции Delta lake.
Журнал изменений в Delta Lake содержит четко определенный открытый протокол, который может использоваться любой системой для чтения журнала. См. раздел Протокол журнала транзакций Delta.
Начало работы с Delta Lake
Все tables в Azure Databricks — Delta tables по умолчанию. Независимо от того, используется ли Apache Spark кадры данных или SQL, вы get все преимущества Delta Lake, просто сохранив данные в lakehouse с параметрами по умолчанию.
Примеры основных операций Delta Lake, таких как создание tables, чтение, запись и обновление данных, см. в учебнике: Delta Lake.
Databricks содержит множество рекомендаций по лучшим методикам работы с Delta Lake.
Преобразование и прием данных в Delta Lake
Azure Databricks предоставляет ряд продуктов для ускорения и упрощения загрузки данных в lakehouse.
- Delta Live Tables:
- COPY INTO
- Автозагрузчик
- Добавление пользовательского интерфейса данных
- Добавочное преобразование данных Parquet или Iceberg в Delta Lake
- Однократное преобразование данных Parquet или Iceberg в Delta Lake
- Сторонние партнеры
Полный list параметров приема см. в разделе прием данных в databricks lakehouse.
Обновление и изменение Delta Lake tables
Атомарные транзакции с Delta Lake предоставляют множество вариантов обновления данных и метаданных. Databricks рекомендует избегать взаимодействия непосредственно с файлами данных и журналов транзакций в каталогах файлов Delta Lake, чтобы избежать повреждения tables.
- Delta Lake поддерживает upserts с помощью операции слияния. См. раздел выполните upsert в Delta Lake table слияния с помощью.
- Delta Lake предоставляет множество вариантов выборочного перезаписи на основе фильтров и секций. См . выборочную перезапись данных с помощью Delta Lake.
- Вы можете вручную или автоматически updatetableschema, не перезаписывая данные. См. Update Delta Lake tableschema.
- Включите сопоставление columns для переименования или удаления columns без перезаписи данных. См. раздел Переименование и удаление columns с сопоставлением Delta Lake column.
Добавочные и потоковые рабочие нагрузки в Delta Lake
Delta Lake оптимизирован для структурированной потоковой передачи в Azure Databricks. Delta Live Tables расширяет собственные возможности с упрощенным развертыванием инфраструктуры, расширенным масштабированием и управляемыми зависимостями данных.
- Delta table стриминг операций чтения и записи
- Использование веб-канала изменений данных Delta Lake в Azure Databricks
Запрос предыдущих версий table
Каждая запись в Delta table создает новую версию table. Журнал транзакций можно использовать для просмотра изменений в table и поиска предыдущих версий table. См. раздел Работа с историей Delta Lake table.
Усовершенствования Delta Lake schema
Delta Lake проверяет schema при записи, гарантируя, что все данные, записанные в table, соответствуют требованиям, которые вы set.
- Schema исполнение
- Ограничения в Azure Databricks
- Delta Lake сгенерированное columns
- Обогатите Delta Lake tables пользовательскими метаданными
Управление файлами и индексированием данных с помощью Delta Lake
Azure Databricks задает множество parameters по умолчанию для Delta Lake, которые влияют на размер файлов данных и количество версий table, сохраняемых в истории. Delta Lake использует сочетание синтаксического анализа метаданных и макета физических данных, чтобы уменьшить количество отсканированных файлов для выполнения любого запроса.
- Использование кластеризации жидкости для Delta tables
- Пропуск данных для Delta Lake
- Optimize макет файла данных
- Remove неиспользуемые файлы данных с vacuum
- Настройка Delta Lake для управления размером файла данных
Настройка и проверка параметров Delta Lake
Azure Databricks хранит все данные и метаданные для Delta Lake tables в облачном хранилище объектов. Многие конфигурации можно set либо на уровне table, либо в сеансе Spark. Вы можете просмотреть сведения о Delta table, чтобы узнать, какие параметры настроены.
- Просмотр сведений о Delta Lake table с описанием подробных
- Справочник по свойствам
Delta
Потоки данных с использованием Delta Lake и Delta Live Tables
Azure Databricks призывает пользователей использовать архитектуру медальона для обработки данных с помощью ряда tables по мере очистки и обогащения данных. Delta Live Tables упрощает рабочие нагрузки ETL благодаря оптимизированному выполнению и автоматическому развертыванию инфраструктуры и масштабированию.
Совместимость функций Delta Lake
Не все функции Delta Lake находятся во всех версиях Databricks Runtime. Дополнительные сведения о управлении версиями Delta Lake см. в статье о том, как Azure Databricks управляет совместимостью функций Delta Lake?.
Документация по API Delta Lake
Для большинства операций чтения и записи в Delta tablesможно использовать API Spark SQL или Apache Spark DataFrame.
Инструкции DELTA Lake для конкретного SQL см. в инструкциях 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.