Логотип Зефирнет

Руководство по миграции с Databricks Delta Lake на Apache Iceberg

Дата:

Введение

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

Цели обучения

  • Понимание особенностей Databricks и Apache Iceberg.
  • Научитесь сравнивать архитектурные компоненты Databricks и Apache Iceberg.
  • Изучите лучшие практики миграции архитектуры дельтового озера на платформу с открытым исходным кодом, такую ​​как Iceberg.
  • Использовать другие сторонние инструменты в качестве альтернативы платформе Delta Lake.

Эта статья была опубликована в рамках Блогатон по Data Science.

Содержание

Понимание Databricks Delta Lake

Databricks Delta Lake — это, по сути, сложный уровень хранения данных, построенный поверх Apache Spark рамки. Он предлагает некоторые современные функции обработки данных, разработанные для беспрепятственного управления данными. В основе Delta Lake есть различные особенности:

  • ACID транзакции: Delta Lake гарантирует соблюдение основополагающих принципов атомарности, согласованности, изоляции и долговечности для всех изменений пользовательских данных, обеспечивая тем самым надежные и достоверные операции с данными.
  • Эволюция схемы: Гибкость достигается преимущественно за счет Дельта Лейк, поскольку он плавно поддерживает эволюцию схемы, что позволяет отраслям вносить изменения в схему, не нарушая существующие конвейеры данных в производстве.
  • Путешествие во времени: Как и путешествия во времени в научно-фантастических фильмах, дельта-озеро предоставляет возможность запрашивать снимки данных в определенные моменты времени. Таким образом, он предоставляет пользователям возможность глубоко погрузиться во всесторонний исторический анализ данных и возможности управления версиями.
  • Оптимизированное управление файлами: Delta Lake поддерживает надежные методы организации и управления файлами данных и метаданными. Это приводит к оптимизации производительности запросов и снижению затрат на хранение.

Особенности Apache Iceberg

Apache Iceberg представляет собой конкурентоспособную альтернативу для компаний, которым требуется улучшенное решение для управления озером данных. Icebergs превосходит некоторые традиционные форматы, такие как Parquet или ORC. Отличительных преимуществ немало:

  • Эволюция схемы: пользователь может использовать функцию эволюции схемы при внесении изменений в схему без дорогостоящей перезаписи таблицы.
  • Изоляция моментальных снимков: Iceberg обеспечивает поддержку изоляции моментальных снимков, что гарантирует согласованность операций чтения и записи. Это облегчает одновременные изменения в таблицах без ущерба для целостности данных.
  • Управление метаданными: Эта функция фактически отделяет метаданные от файлов данных. И сохраните его в специальном репозитории, который отличается от самих файлов данных. Это делается для повышения производительности и повышения эффективности операций с метаданными.
  • Обрезка разделов: используя передовые методы сокращения, он оптимизирует производительность запросов за счет сокращения объема данных, сканируемых во время выполнения запроса.

Сравнительный анализ архитектур

Давайте углубимся в сравнительный анализ архитектур:

Архитектура Databricks Delta Lake

  • Уровень хранения: Delta Lake использует облачное хранилище, например Amazon S3, Лазурная капля в качестве базового уровня хранения, который состоит как из файлов данных, так и журналов транзакций.
  • Управление метаданными: Метаданные остаются в журнале транзакций. Таким образом, это приводит к эффективным операциям с метаданными и гарантирует согласованность данных.
  • Методы оптимизации: Озеро Дельта использует тонны методы оптимизации. Он включает в себя пропуск данных и Z-упорядочение, что радикально повышает производительность запросов и снижает накладные расходы при сканировании данных.
Архитектура Databricks Delta Lake

Архитектура Apache Айсберг

  • Разделение метаданных: Есть разница по сравнению с Databricks с точки зрения отделения метаданных от файлов данных. Айсберг хранит метаданные в отдельном репозитории от файлов данных.
  • Транзакционная поддержка: Для обеспечения целостности и надежности данных Iceberg использует надежный протокол транзакций. Этот протокол гарантирует атомарные и согласованные табличные операции.
  • Совместимость: Такие двигатели, как Apache Spark, Flink и Presto, легко совместимы с Iceberg. Разработчики имеют возможность использовать Iceberg с этими средами пакетной обработки и обработки данных в реальном времени.
Архитектура Apache Айсберг

Навигация по миграционному ландшафту: соображения и лучшие практики

Для реализации миграции с Databricks Delta Lake на Apache Iceberg требуется огромное количество усилий по планированию и выполнению. Следует принять во внимание некоторые соображения:

  • Эволюция схемы: гарантия безупречной совместимости между функцией эволюции схемы Delta Lake и Iceberg для сохранения согласованности во время изменений схемы.
  • Перенос данных: Стратегии должны быть разработаны и внедрены с учетом таких факторов, как объем данных, требования к простоям и согласованность данных.
  • Совместимость запросов: Следует проверить совместимость запросов между Delta Lake и Iceberg. Это приведет к плавному переходу, и существующая функциональность запросов также останется неизменной после миграции.
  • Перфоманс Тестирование: Запустите обширные тесты производительности и регрессионные тесты, чтобы проверить производительность запросов. Использование ресурсов также должно быть проверено между Айсбергом и озером Дельта. Таким образом, можно выявить потенциальные области для оптимизации.

Для миграции разработчики могут использовать некоторые предопределенные скелеты кода из документации Iceberg и блоков данных и реализовать то же самое. Шаги упомянуты ниже, и здесь используется язык Scala:

Шаг 1. Создайте таблицу дельта-озера

На начальном этапе убедитесь, что корзина S3 пуста и проверена, прежде чем приступить к созданию в ней данных. После завершения процесса создания данных выполните следующую проверку:

Шаг 1. Создайте таблицу дельта-озера
val data=spark.range(0,5)
data.write.format("delta").save("s3://testing_bucket/delta-table")

spark.read.format("delta").load("s3://testing_bucket/delta-table")
Создать таблицу дельта-озера
Создать таблицу дельта-озера

Добавление дополнительного кода вакуума

#adding optional code for vaccum later
val data=spark.range(5,10)
data.write.format("delta").mode("overwrite").save("s3://testing_bucket/delta-table")

Шаг 2: CTAS и чтение таблицы Delta Lake

#reading delta lake table
spark.read.format("delta").load("s3://testing_bucket/delta-table")

Шаг 3. Чтение Delta Lake и запись в таблицу Iceberg

val df_delta=spark.read.format("delta").load("s3://testing_bucket/delta-table")
df_delta.writeTo("test.db.iceberg_ctas").create()
spark.read.format("iceberg").load("test.db.iceberg.ctas)

Проверьте данные, сброшенные в таблицы айсберга под S3.

Чтение озера Дельта и запись в таблицу айсберга
Чтение озера Дельта и запись в таблицу айсберга

Сравнение инструментов сторонних производителей с точки зрения простоты, производительности, совместимости и поддержки. Два инструмента, т.е. AWS Glue DataBrew и Snowflake имеют собственный набор функций.

AWS Glue Data Brew

Процесс миграции:

  • Простота в использовании: AWS Glue DataBrew — это продукт в облаке AWS, обеспечивающий удобный интерфейс для задач очистки и преобразования данных.
  • интеграцию: Glue DataBrew можно легко интегрировать с другими облачными сервисами Amazon. Организации, работающие с AWS, могут воспользоваться этим сервисом.

Набор функций:

  • Преобразование данных: поставляется с большим набором функций для преобразования данных (EDA). Это может пригодиться во время миграции данных.
  • Автоматическое профилирование: Как и другие инструменты с открытым исходным кодом, DataBrew автоматически профилирует данные. чтобы обнаружить любые несоответствия, а также рекомендовать задачи по преобразованию.

Производительность и совместимость:

  • Масштабируемость: для обработки больших наборов данных, которые могут возникнуть в процессе миграции, Glue DataBrew также обеспечивает масштабируемость.
  • Совместимость: Обеспечивает совместимость с более широким набором форматов и источников данных, что облегчает интеграцию с различными решениями для хранения данных.

Снежинка

Процесс миграции:

  • Простота миграции: Для простоты в Snowflake есть службы миграции, которые помогают конечным пользователям переходить из существующих хранилищ данных на платформу Snowflake.
  • Комплексная документация: Snowflake предоставляет обширную документацию и достаточное количество ресурсов для начала процесса миграции.

Набор функций:

  • Возможности хранения данных: он предоставляет более широкий набор функций хранения и поддерживает полуструктурированные данные, совместное использование данных и управление данными.
  • совпадение: Архитектура обеспечивает высокий уровень параллелизма, что подходит для организаций с высокими требованиями к обработке данных.

Производительность и совместимость:

  • Перфоманс: Snowflake также эффективен с точки зрения масштабируемости, что позволяет конечным пользователям с легкостью обрабатывать огромные объемы данных.
  • Совместимость: Snowflake также предоставляет различные соединители для разных источников данных, что гарантирует перекрестную совместимость с различными экосистемами данных.
"

Заключение

Для оптимизации рабочих процессов управления озером данных и хранилищами, а также для получения бизнес-результатов переход жизненно важен для организаций. Отрасли могут использовать обе платформы с точки зрения возможностей, а также архитектурных и технических различий и решать, какую из них выбрать, чтобы максимально использовать потенциал своих наборов данных. Это также помогает организациям в долгосрочной перспективе. В условиях динамично и быстро меняющегося ландшафта данных инновационные решения могут держать организации в напряжении.

Основные выводы

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

Часто задаваемые вопросы

Вопрос 1. Как выполняется процесс миграции с Databricks Delta Lake на Apache Iceberg?

О. Он включает в себя экспорт данных из Databricks Delta Lake, их очистку при необходимости, а затем импорт в таблицы Apache Iceberg.

В2. Существуют ли какие-либо автоматизированные инструменты, которые помогут выполнить миграцию без ручного вмешательства?

О. Для построения этого рабочего процесса организации обычно используют собственные скрипты Python/Scala и инструменты ETL.

Вопрос 3. С какими общими проблемами сталкиваются организации в процессе миграции?

О. Некоторые проблемы, которые могут возникнуть, очень вероятны: согласованность данных, обработка различий в эволюции схемы и оптимизация производительности после миграции.

Вопрос 4. В чем разница между Apache Iceberg и другими форматами таблиц, такими как Parquet или ORC?

О. Apache Iceberg предоставляет такие функции, как эволюция схемы, изоляция снимков и эффективное управление метаданными, которые отличают его от Parquet и ORC.

Вопрос 5. Можем ли мы использовать Apache Iceberg с облачными решениями для хранения данных?

О. Определенно, Apache Iceberg совместим с широко используемыми решениями облачного хранилища, такими как AWS S3, Azure Blob Storage и Google Cloud Storage.

Материалы, показанные в этой статье, не принадлежат Analytics Vidhya и используются по усмотрению Автора.

Spot_img

Последняя разведка

Spot_img