Управление данными в Lakehouse с использованием инструментов с открытым исходным кодом
Хотя эти инструменты не ограничиваются домами на озере и могут применяться к озерам, складам и гибридным архитектурам, они особенно важны для домов на озере, где возможности управления часто приходится создавать независимо.
Цель этой статьи - дать общий обзор управления Lakehouse с использованием инструментов с открытым исходным кодом. В следующих статьях я расскажу об этих технологиях подробнее.
img01
Управление данными в Lakehouse с использованием инструментов с открытым исходным кодом
Контроль доступа и безопасность
Цель: Контролировать, кто может получить доступ к каким данным и при каких условиях.
Apache Ranger: Централизованное управление политиками для детального контроля доступа на различных уровнях (база данных, таблица, столбец, строка) в Hive Metastore.
- Ranger может работать с Lakehouse через Hive Metastore.
- Хорошо работает с Apache Atlas.
Keycloak: Не специально для данных, а для служб обработки данных и приложений. Он интегрируется с такими инструментами, как Trino, Airflow и Superset, для управления доступом к пользовательским интерфейсам и API-интерфейсам посредством единого входа и контроля доступа на основе ролей.
Open Policy Agent (OPA) - универсальный инструмент управления политиками для обеспечения контроля доступа, особенно при интеграции с платформами метаданных, такими как DataHub.
Передача и отслеживание данных
Цель: Понять, как данные перемещаются, преобразуются и
в разных системах.
Amundsen: Базовое отслеживание родословной с помощью взаимосвязей метаданных и удобного пользовательского интерфейса, в котором основное внимание уделяется поиску, а не подробной родословной.
Apache Atlas: Широкие возможности lineage, отслеживание потоков данных в таких системах, как Hive, HDFS, Kafka, Lakehouse (через Hive Metastore), что позволяет получить представление о преобразованиях данных и рабочих процессах обработки.
OpenLineage + Marquez: OpenLineage определяет метаданные о происхождении линий для конвейеров; Marquez предоставляет сервис метаданных с пользовательским интерфейсом для поиска и исследования на основе графиков. OpenLineage также используется Amundsen и DataHub.
Spline: Позволяет получать данные из приложений Apache Spark во время выполнения с минимальными изменениями в коде.
Управление метаданными и обнаружение
Цель: Сделать ресурсы данных легко обнаруживаемыми, понятными и управляемыми.
Amundsen: Система метаданных и поиска с удобным пользовательским интерфейсом, показывающая схемы наборов данных и права собственности. Создан на основе Neo4j и Elasticsearch.
Apache Atlas: каталог метаданных с поддержкой таксономий, классификаций и интеграцией со средствами обеспечения безопасности.
DataHub: Комплексная платформа метаданных, поддерживающая мощное обнаружение метаданных, фасетный поиск, управление версиями схем, владение данными и анализ влияния.
Metacat: Каталог метаданных и наборов данных от Netflix, поддерживающий несколько систем хранения и интегрирующийся с Hive и Presto.
Качество и наблюдаемость данных
Цель: Обеспечить соответствие данных ожиданиям бизнеса посредством проверки и мониторинга.
Great Expectations: платформа для определения "ожиданий" в наборах данных (например, отсутствие нулей, уникальные ключи). Интегрируется в конвейеры для проверки во время выполнения.
Soda Core: инструмент на основе интерфейса командной строки для профилирования и мониторинга данных на основе правил, обнаружения свежести, дубликатов и других проблем.
Deequ: Библиотека для установки ограничений на наборы данных (полнота, уникальность) и масштабирования с помощью Spark Dataframes.
DQX: Платформа для организации проверки качества данных в различных движках, интегрированная с экосистемами Spark, Delta Lake и Lakehouse.
Управление версиями и аудит данных
Цель: Обеспечить воспроизводимость, откат и контрольные журналы для наборов данных.
Delta Lake: Обеспечивает управление версиями, совместимое с ACID, интуитивно понятное перемещение во времени по версии или временной метке, откат к предыдущим состояниям и полные журналы аудита с помощью журнала транзакций.
Apache Hudi: Поддерживает управление версиями данных с указанием сроков фиксации, поддерживает перемещение во времени с помощью мгновенных запросов, позволяет откатывать неудачные записи и ведет историю, доступную для аудита.
Apache Iceberg: Отслеживает данные с помощью неизменяемых моментальных снимков, поддерживает перемещение во времени и откат назад с помощью идентификаторов моментальных снимков, а также регистрирует подробные метаданные для аудита.
LakeFS: Git-подобный контроль версий для озер данных, позволяющий разветвлять, фиксировать и объединять данные.
Классификация данных и тегирование
Цель: надлежащим образом классифицировать и защищать конфиденциальные или регулируемые наборы данных.
Amundsen: Предлагает упрощенную маркировку и определение владельца, помогая командам документировать и осуществлять поиск в наборах данных, хотя и с ограниченной поддержкой иерархических глоссариев или сложных политик.
Apache Atlas: Обеспечивает расширенную классификацию данных с помощью пользовательских тегов, бизнес-глоссариев и автоматизированного распространения тегов на основе родословной для управления метаданными корпоративного уровня. Обычно используется с Apache Ranger.
DataHub: Поддерживает динамическую классификацию с помощью тегов и терминов из глоссария, а также применение политик и контроль доступа благодаря бесшовной интеграции с Open Policy Agent (OPA).
Пользователи:
Некоторые из этих инструментов широко
крупными компаниями.
img02
Список компаний, использующих эти инструменты управления данными
Каталог Unity: Текущая версия с открытым исходным кодом предлагает базовые функции, но как только она включит в себя все возможности управления, она станет мощным современным инструментом со всеми упомянутыми функциональными возможностями.
Управление не обязательно должно быть дорогостоящим или сложным. Используя правильные инструменты с открытым исходным кодом, вы сможете создать хорошо управляемую, безопасную и обозримую архитектуру Lakehouse, не привязываясь к проприетарным платформам.



