Что такое Delta Lake?
Delta Lake — это уровень хранилища с открытым кодом, который переносит транзакции ACID (атомарность, согласованность, изоляция и устойчивость) для Apache Spark и рабочих нагрузок с большими данными.
Текущая версия Delta Lake, входящая в Azure Synapse, поддерживает такие языки, как Scala, PySpark и .NET, и совместима с Linux Foundation Delta Lake. Ссылки на более подробные примеры и документацию см. внизу страницы. Дополнительные сведения см. в видео "Общие сведения о разностных таблицах".
Ключевые функции
Функция | Description |
---|---|
Транзакции ACID | Озера данных обычно заполняются несколькими процессами и конвейерами, некоторые из которых записывают данные одновременно с чтением. До Delta Lake и добавления транзакций инженерам по обработке данных приходилось обеспечивать целостность данных вручную, что было сопряжено с ошибками. Delta Lake позволяет использовать привычные транзакции ACID в озерах данных. Он предоставляет возможности сериализации, самый высокий уровень изоляции. Дополнительные сведения см. в статье Погружение в Delta Lake: понимание журнала транзакций. |
Работа с масштабируемыми метаданными | В больших данных даже метаданные могут быть "большими данными". Delta Lake обрабатывает метаданные так же, как и данные, используя распределенную мощность обработки Spark для обработки всех его метаданных. В результате Delta Lake может легко работать с таблицами, вмещающими несколько петабайтов данных с миллиардами разделов и файлов. |
Путешествие во времени (управление версиями данных) | Возможность "отменить" изменение или вернуться к предыдущей версии является одной из основных функций транзакций. Delta Lake предоставляет моментальные снимки данных, позволяющие вернуться к более ранним версиям данных для аудита, отката или повторных экспериментов. Дополнительные сведения см. в статье О путешествии во времени с Delta Lake при работе с крупными озерами данных. |
Открытый формат | Apache Parquet — это базовый формат для Delta Lake, позволяющий использовать эффективные схемы сжатия и кодирования, присущие этому формату. |
Объединение пакетной службы, источника потоковой передачи и приемника | Таблица в Delta Lake является пакетной таблицей, источником потоковой передачи и приемником. Прием потоковых данных, выполнение пакетов задним числом и интерактивные запросы работают без дополнительной настройки. |
Принудительное применение схемы | Принудительное применение схемы гарантирует, что типы данных верны и присутствуют все необходимые столбцы, что предотвращает несогласованность данных. Дополнительные сведения см. в статье Погружение в Delta Lake: применение и эволюция схемы |
Эволюция схемы | Delta Lake позволяет вносить изменения в схему таблицы, которая может применяться автоматически, без необходимости написания миграции на языке DDL. Дополнительные сведения см. в статье Погружение в Delta Lake: применение и эволюция схемы |
Журнал аудита | В журнале транзакций Delta Lake регистрируются сведения обо всех изменениях данных, обеспечивая таким образом полный аудиторский след изменений. |
Обновление и удаление данных | Delta Lake поддерживает Scala, Java, Python и SQL APIs для различных функций. Поддержка операций слияния, обновления и удаления позволяет вам соответствовать нормативным требованиям. Дополнительные сведения см. в статьях Анонс выпуска Delta Lake 0.6.1, Анонс выпуска Delta Lake 0.7 и Простота и надежность операций обновления и удаления в таблицах Delta Lake с помощью интерфейсов Python, включая фрагменты кода для DML команд MERGE, UPDATE и DELETE. |
100 процентов совместим с API Apache Spark | Разработчики могут использовать Delta Lake с существующими конвейерами данных, внося минимальное количество изменений, так как Delta Lake полностью совместимо с существующими реализациями Spark. |
Более полную документацию см. на странице документации по Delta Lake.
Дополнительные сведения см. на странице проекта Delta Lake.