Delta Lake в Yandex Data Processing
Delta Lake
- добавляет оптимизированный слой хранения данных в формате таблиц с поддержкой ACID-транзакций
; - дает возможность масштабируемой обработки метаданных;
- позволяет обновлять данные в аналитических таблицах, хранящихся в виде Parquet-файлов в системе HDFS или S3-совместимом хранилище;
- позволяет обрабатывать пакетные запросы и выполнять операции потоковой передачи данных.
Вы можете настроить работу Delta Lake в кластере Yandex Data Processing:
- в однокластерном режиме для версий Yandex Data Processing 2.0 и 2.1;
- в мультикластерном режиме для версий Yandex Data Processing 2.1 и выше.
Хотя однокластерный режим допускает работу с таблицами из разных кластеров и заданий Apache Spark™, одновременная запись из разных источников может привести к потере информации в таблице. Чтобы исключить такую ситуацию, необходима дополнительная настройка операций записи.
При работе в мультикластерном режиме за координацию доступа к таблицам Delta Lake из разных кластеров и заданий Apache Spark™ отвечает вспомогательная база данных. В Yandex Cloud в качестве такой базы используется Yandex Managed Service for YDB.
Примечание
Delta Lake не является частью сервиса Yandex Data Processing и не сопровождается командой разработки и службой поддержки Yandex Cloud, а его использование не входит в условия использования Yandex Data Processing
Подробную информацию о Delta Lake см. в документации Delta Lake
Совместимость версий Delta Lake и Yandex Data Processing
Версии Delta Lake и Yandex Data Processing совместимы, только если версия Delta Lake совместима с используемой в кластере версией Apache Spark™. В таблице ниже приведены совместимые версии и ссылки на файлы библиотек, которые понадобятся при настройке Delta Lake в кластере.
Версия Yandex Data Processing |
Версия Apache Spark™ |
Версия Delta Lake |
Файлы JAR |
2.0.x |
3.0.3 |
||
2.1.0 и 2.1.3 |
3.2.1 |
||
2.1.4 и выше |
3.3.2 |
Примечание
Кластеры Yandex Data Processing версии 2.1.x находятся на стадии Preview и предоставляются по запросу. Обратитесь в техническую поддержку
Основные преимущества Delta Lake 2.x
Основные преимущества Delta Lake 2.x, по сравнению с версией 0.8.0:
- Поддержка мультикластерного режима
, который обеспечивает автоматическую координацию изменений данных в одной таблице из разных заданий Apache Spark™ и кластеров Yandex Data Processing. - Функция идемпотентной записи данных
, которая позволяет решить задачу однократного применения изменений при потоковой обработке данных. - Функция Change Data Feed
, которая обеспечивает отслеживание изменений данных в таблицах Delta Lake. - Функция Z-Ordering
, которая реализует многомерную кластеризацию таблиц Delta Lake. Функция позволяет ускорить выполнение запросов с ограничениями на столбцы, которые используются для кластеризации. - Поддержка динамической перезаписи партиций
. - Оптимизация производительности запросов
за счет объединения небольших файлов в более крупные. - Возможность отката таблицы
к предыдущему состоянию.