Что такое Delta Lake?

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 по умолчанию являются дельта-таблицами. Независимо от того, используете ли вы кадры данных Apache Spark или SQL, вы получаете все преимущества Delta Lake только за счет сохранения данных в lakehouse с параметрами по умолчанию.

Примеры основных операций Delta Lake, таких как создание таблиц, чтение, запись и обновление данных, см. Руководство. Delta Lake.

Databricks содержит множество рекомендаций по лучшим методикам работы с Delta Lake.

Преобразование и прием данных в Delta Lake

Azure Databricks предоставляет ряд продуктов для ускорения и упрощения загрузки данных в lakehouse.

Полный список параметров приема см. в разделе "Прием данных" в лейкхаусе Databricks.

Обновление и изменение таблиц Delta Lake

Атомарные транзакции с Delta Lake предоставляют множество вариантов обновления данных и метаданных. Databricks рекомендует избегать взаимодействия непосредственно с файлами данных и журналов транзакций в каталогах файлов Delta Lake, чтобы избежать повреждения таблиц.

Добавочные и потоковые рабочие нагрузки в Delta Lake

Delta Lake оптимизирован для структурированной потоковой передачи в Azure Databricks. Delta Live Tables расширяет собственные возможности с упрощенным развертыванием инфраструктуры, расширенным масштабированием и зависимостями управляемых данных.

Запрос предыдущих версий таблицы

Каждая запись в разностную таблицу создает новую версию таблицы. Журнал транзакций можно использовать для просмотра изменений в таблице и запроса предыдущих версий таблицы. См. Работа с таблицей журнала Delta Lake.

Усовершенствования схемы Delta Lake

Delta Lake проверяет схему при записи, гарантируя, что все данные, записанные в таблицу, соответствуют заданным требованиям.

Управление файлами и индексированием данных с помощью Delta Lake

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

Настройка и проверка параметров Delta Lake

Azure Databricks хранит все данные и метаданные для таблиц Delta Lake в облачном хранилище объектов. Многие конфигурации можно задать на уровне таблицы или в сеансе Spark. Вы можете просмотреть сведения о таблице Delta, чтобы узнать, какие параметры настроены.

Конвейеры данных с помощью разностных динамических таблиц Delta Lake и Delta Live

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

Совместимость функций Delta Lake

Не все функции Delta Lake находятся во всех версиях Databricks Runtime. Дополнительные сведения о управлении версиями Delta Lake см. в статье о том, как Azure Databricks управляет совместимостью функций 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.