'
Научный журнал «Вестник науки»

Режим работы с 09:00 по 23:00

zhurnal@vestnik-nauki.com

Информационное письмо

  1. Главная
  2. Архив
  3. Вестник науки №1 (70) том 1
  4. Научная статья № 65

Просмотры  69 просмотров

Артемов А.А.

  


ЭФФЕКТИВНОЕ УПРАВЛЕНИЕ И ИСПОЛЬЗОВАНИЕ APACHE ATLAS ДЛЯ УПРАВЛЕНИЯ ДАННЫМИ В ЭКОСИСТЕМАХ HADOOP *

  


Аннотация:
в этой статье представлено подробное исследование Apache Atlas, ключевого инструмента для управления метаданными и данными в экосистемах Hadoop. Основное внимание уделяется практическим аспектам, рассматриваются локальная установка, обзор модели данных и манипулирование типами и сущностями с помощью REST API и пользовательского интерфейса. В исследовании представлены подробные рекомендации по настройке Apache Atlas, включая конфигурацию среды и инициализацию сервера. В ней подробно рассматривается модель данных, подчеркиваются понятия   

Ключевые слова:
управление метаданными, управление данными, экосистема, пользовательский интерфейс, модель данных, руководство по установке, манипулирование типами, управление сущностями   


DOI 10.24412/2712-8849-2024-170-354-374 

УДК 004

Артемов А.А.

ведущий инженер данных, Schwarz Media Plattform GmbH

(г. Мульхайм, Германия)

 

ЭФФЕКТИВНОЕ УПРАВЛЕНИЕ И ИСПОЛЬЗОВАНИЕ

APACHE ATLAS ДЛЯ УПРАВЛЕНИЯ

ДАННЫМИ В ЭКОСИСТЕМАХ HADOOP

 

Аннотацияв этой статье представлено подробное исследование Apache Atlas, ключевого инструмента для управления метаданными и данными в экосистемах Hadoop. Основное внимание уделяется практическим аспектам, рассматриваются локальная установка, обзор модели данных и манипулирование типами и сущностями с помощью REST API и пользовательского интерфейса. В исследовании представлены подробные рекомендации по настройке Apache Atlas, включая конфигурацию среды и инициализацию сервера. В ней подробно рассматривается модель данных, подчеркиваются понятия "Type" и "Entity", в частности типы "DataSet" и "Process". Кроме того, в документе иллюстрируется, как динамически добавлять, удалять и обновлять типы и сущности, подчеркивая гибкость и адаптивность Atlas в современном управлении данными.

 

Ключевые слова: управление метаданными, управление данными, экосистема, пользовательский интерфейс, модель данных, руководство по установке, манипулирование типами, управление сущностями.

 

Введение.

В быстро растущем ландшафте больших данных (рис. 1) и управления данными Apache Atlas становится ключевым инструментом, предлагающим надежные возможности управления метаданными и данными в экосистемах Hadoop.

Рисунок 1. Объем данных в мире в зеттабайтах

 

Apache Atlas, разработанный как часть экосистемы Hadoop, является open source-продуктом и присутствует в дистрибутивах от ArenaData, Cloudera и HortonWorks. Предоставляет возможности управления метаданными и создания единого каталога данных, а также классификации и управления этими данными. Дизайн инструмента соответствует потребностям организаций, имеющих дело с огромными объемами данных из различных источников, включая Hadoop и связанные с ним проекты [2].

Рассмотрим основные компоненты Atlas на верхнеуровневой архитектуры (рис. 2).

 

Рисунок 2. Основные компоненты Atlas на верхнеуровневой архитектуры.

 

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

Кроме того, возможности интеграции Apache Atlas с различными компонентами экосистемы Hadoop, такими как Hive, HBase и Storm, делают его универсальным инструментом для управления метаданными. Его расширяемая модель позволяет настраивать и добавлять новые типы и сущности, тем самым удовлетворяя меняющиеся потребности сложных систем управления данными [6].

Внедрение Apache Atlas ознаменовало значительный прогресс в области управления большими данными. До его создания управление метаданными в Hadoop было фрагментированным процессом, часто приводившим к неэффективности и проблемам управления данными. Способность Atlas предоставлять целостное представление о метаданных в сочетании с его функциями классификации, отслеживания происхождения и безопасности эффективно решает эти задачи.

Целью данной статьи является углубленное изучение возможностей Apache Atlas, уделяя особое внимание его установке, модели данных и функциональным возможностям добавления, удаления и обновления типов и сущностей с помощью REST API и пользовательского интерфейса. Исследование основано на практическом применении, предлагая представление о практическом внедрении инструмента и эксплуатационных нюансах управления данными в экосистемах Hadoop.

 

  1. Локальная установка для разработки

Процесс локальной установки Apache Atlas для целей разработки является важным шагом в создании среды, способствующей управлению метаданными и данными в экосистемах Hadoop. Этот процесс включает в себя ряд методических шагов, начинающихся с загрузки соответствующей версии Apache Atlas, последующего ее извлечения и завершающихся ее компиляцией и настройкой [1].

Эта подробная процедура установки закладывает основу для полнофункциональной среды Apache Atlas, адаптированной для разработки и экспериментов, в системе, сконфигурированной при помощи:

  • OS: Mac OS X, 10.15.6,
  • Java: build 1.8.0_202-b08,
  • Atlas: 2.1.0,
  • Python 2.7.9.

Первоначально требуемая версия Apache Atlas берется из надежного источника, обычно из официального репозитория Apache или GitHub [3, 4]. Выбор версии имеет решающее значение и должен соответствовать конкретным потребностям среды разработки. После загрузки исходный пакет, обычно в сжатом формате, таком как 'tar.gz', извлекается с помощью стандартных инструментов разархивирования:

 

Также необходимо настроить параметры виртуальной машины Java (JVM) для оптимизации процесса сборки. Установка переменной окружения MAVEN_OPTS в '-Xms2g -Xmx2g' обеспечивает адекватное выделение памяти для процесса сборки. Команда сборки "mvn clean -DskipTests package -Pdist,embedded-hbase-solr" затем компилирует исходный код и упаковывает его в исполняемую форму, внедряя HBase и Solr, которые являются важными компонентами архитектуры Atlas.

После чего необходимо проверить переменные ‘env’ по адресу: conf/atlas-env.sh и при необходимости добавить / редактировать / откомментировать их:

 

Результатом процесса сборки является создание распространяемого пакета Apache Atlas, расположенного в каталоге "distro/target". Перед запуском сервера Apache Atlas необходимо проверить и настроить файлы конфигурации, в частности "conf/atlas-env.sh", который содержит настройки переменных окружения, специфичные для сервера Atlas. Создание исполняемого файла этого скрипта ('chmod +x .conf/atlas-env.sh ') и его запуск гарантируют, что серверная среда настроена правильно.

 

Заключительный шаг в процессе установки включает запуск сервера Apache Atlas. Для этой цели используется скрипт 'bin/atlas_start.py.

 

После успешного выполнения последовательность инициализации сервера отображает сообщения (рис. 3), указывающие на запуск интегрированных компонентов, таких как HBase и Solr, а также на доступность сервера Atlas на локальном хосте, обычно на порту 21000.

 

Рисунок 3. Сообщение об успешной инициализации сервера.

 

Успешный запуск Apache Atlas можно проверить, обратившись к информации о версии сервера с помощью вызова REST (например, 'curl -u admin:admin http://localhost:21000/api/atlas/admin/version') или войдя в веб-интерфейс по адресу 'http://localhost:21000/login.jsp'.

 

Рисунок 4. JSON-ответ от сервера Apache Atlas.

 

При необходимости остановить сервер - используется команда:

 

Таким образом настройка переменных среды, выбор параметров JVM и соблюдение предписанных шагов установки обеспечивают стабильную и эффективную среду разработки для Apache Atlas.

 

  1. Обзор модели данных

Модель данных Apache Atlas является основой его функциональности, обеспечивая способ управления метаданными в экосистемах Hadoop. Центральными в этой модели являются понятия "Type" и "Entity", каждое из которых играет решающую роль в представлении метаданных и управлении ими.

Type - в Atlas - это определение того, как определенный тип объектов метаданных хранится и доступен. Тип представляет собой один или набор атрибутов, которые определяют свойства для объекта метаданных. Пользователи с опытом разработки будут распознавать сходство типа с определением «Class» объектно-ориентированных языков программирования или «table schema» реляционных баз данных.

Entity - в Atlas представляет собой конкретное значение или экземпляр "type" сущности и, таким образом, представляет собой конкретный объект метаданных в реальном мире. Ссылаясь на аналогию с объектно-ориентированными языками программирования, «instance» является «Object» определенного «Class».

Система типов построена на концепции "inheritance" из ООП, позволяющей использовать атрибуты родительского типа при описании дочерней сущности. Типы используются для определения как структур для хранения метаданных, так и связей между ними. Пример пользовательской модели метаданных проиллюстрирован на рисунке 5 [2].

 

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

 

Легенда обозначений:

  • Прямоугольники – Типы-контейнеры (таблица, столбец, etl-процесс etc.),
  • Линии – Типы-связи (столбец таблицы, PK, FK, таблица схемы etc.),
  • Зеленый цвет – Типы “из коробки”,
  • Оранжевый цвет – новые спроектированные Типы.

В модели Apache Atlas ключевыми являются два основных типа: "DataSet" и "Process".

Тип "DataSet", расширяющий тип "Referenceable", предназначен для представления любого объекта, хранящего данные. На практике это включает в себя такие объекты, как таблицы Hive или таблицы HBase. Эти объекты обычно обладают схемой, определяющей их структуру, такой как столбцы в таблице Hive. Кроме того, объекты "DataSet" играют ключевую роль в процессах преобразования данных, позволяя Atlas фиксировать и представлять происхождение данных с помощью графиков происхождения.

Тип "Process", расширяющий "Asset", предназначен для представления операций преобразования данных. Например, процесс ETL, преобразующий необработанные данные в таблице Hive в агрегированные данные в другой таблице, будет представлен как объект типа "Process". Этот тип характеризуется двумя различными атрибутами: входными данными и выходными данными. Оба являются массивами объектов "DataSet", позволяющими представить происхождение данных, иллюстрируя, как данные эволюционируют в ходе различных процессов преобразования [5].

Настройка является ключевой особенностью модели Atlas, позволяющей пользователям определять свои собственные типы на основе конкретных требований. Возможно создавать свои собственные типы, и в зависимости от их поведения необходимо расширить DataSet или Process. Многие типы уже существуют в Atlas, также некоторые дополнительные определения типов можно найти на GitHub.

 

Рисунок 6. Идентификаторы Apache Atlas.

 

Такая гибкость необходима для адаптации к разнообразным и меняющимся потребностям управления метаданными в различных средах. Например, пользователи могут создать пользовательский тип 'custom_type', расширяющий 'DataSet', и включить дополнительные поля, такие как 'custom_name' и 'LastAccessTime'. Эта расширяемость демонстрирует адаптивность модели и ее способность удовлетворять различным требованиям к управлению данными.

 

  1. Способы add\delete\update типы с помощью REST API

Манипулирование типами в Apache Atlas через REST API включает серию структурированных запросов, которые позволяют добавлять, удалять и обновлять типы, необходимые для эффективного управления метаданными:

 

  • Получить определение всех типов:
    Тип запроса: GET
    URL: http://localhost:21000/api/atlas/v2/types/typedefs
    Тип авторизации: Базовая авторизация
    Имя пользователя/пароль: admin/admin

 

  • Получить определение для определенного типа (например, DataSet):
    Тип запроса: GET
    URL:http://localhost:21000/api/atlas/v2/types/entitydef/name/DataSet
    Тип авторизации: Базовая авторизация
    Имя пользователя/пароль: admin/admin

 

  • Создать\обновить типы:
    Тип запроса: POST
    URL:http://localhost:21000/api/atlas/v2/types/typedefs
    Тип авторизации: Базовая авторизация
    Имя пользователя/пароль: admin/admin
    Заголовки: Content-Type = application/json
    Тело: определение типа json

 

  • Удалить типы:
    Тип запроса: DELETE
    URL:http://localhost:21000/api/atlas/v2/types/typedefs/name/type_name
    Тип авторизации: 
    Базовая авторизация
    Имя пользователя/пароль: admin/admin

 

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

  • spark_process,
  • aws_s3_bucket,
  • aws_s3_pseudo_dir,
  • aws_s3_object,

Это можно сделать с помощью специальных запросов GET, гарантируя наличие необходимых типов, прежде чем приступать к манипуляциям с пользовательскими типами.

Добавление новых типов через REST API - простой процесс. Чтобы добавить тип, на сервер Atlas отправляется POST-запрос с полезной нагрузкой JSON, определяющей структуру типа. Например, для создания пользовательского типа с именем 'custom_type', который расширяет тип 'DataSet' дополнительными полями, такими как 'custom_name' и 'LastAccessTime', можно использовать следующий запрос:

 

Удаление типов аналогично выполняется через REST API, используя запрос на удаление. Например, для удаления ранее созданного 'custom_type' выполняется следующий запрос:

 

Обновление существующих типов - это еще одна возможность, предлагаемая REST API. Для обновления типа отправляется запрос PUT с полезной нагрузкой JSON, содержащей изменения. Например, чтобы добавить новый атрибут к 'custom_type', может быть выдан следующий запрос:

 

Эти взаимодействия RESTful с API Apache Atlas демонстрируют возможности инструмента для динамического управления метаданными. Упрощая добавление, удаление и обновление типов с помощью вызовов API, Atlas гарантирует, что его модель метаданных может адаптироваться к изменяющимся потребностям управления данными.

 

  1. Способы add\delete\update сущности по пользовательскому интерфейсу

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

Изменение новых сущностей в Apache Atlas начинается с настройки свойств сервера, позволяющих создавать сущности через пользовательский интерфейс. Это достигается путем изменения файла 'atlas-application.properties', где установлен параметр:

 

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

 

После настройки свойств сервера необходимо перезапустить сервер Apache Atlas, чтобы применить эти изменения.

 

Как только сервер будет запущен, пользователи смогут получить доступ к пользовательскому интерфейсу Atlas через URL-адрес "http://localhost:21000/".

В пользовательском интерфейсе Atlas процесс добавления нового объекта включает переход к разделу, где перечислены объекты, и выбор опции для создания нового объекта (рис. 7).

 

Рисунок 7. Создание новой ссылки на сущность.

 

Если задана конфигурация "atlas.ui.editable.entity.types=*", отображается полный список типов сущностей (рис. 8), которые могут быть созданы. Пользователи выбирают желаемый тип, а затем заполняют необходимые данные в предоставленной форме, такие как имя, атрибуты и другие соответствующие метаданные. После отправки создается новый объект и интегрируется в хранилище метаданных Atlas.

Рисунок 8. Список сущностей.

 

Рисунок 9. Создание сущности.

 

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

 

Обсуждение

Изучение возможностей Apache Atlas в этом исследовании подчеркивает его жизненно важную роль в современном управлении данными и метаданными в экосистемах Hadoop. Обсуждение сосредоточено на последствиях полученных результатов, возникших проблемах и потенциальных областях для дальнейших исследований.

Архитектура Apache Atlas, в частности ее модель данных, состоящая из "Type" и "Entity", демонстрирует значительную гибкость и адаптируемость. Эта модель, лежащая в основе фреймворка, играет важную роль в обеспечении эффективного управления метаданными. Рассмотренные типы "DataSet" и "Process" играют ключевую роль в сборе и представлении метаданных, иллюстрируя надежность Atlas в обработке сложных структур данных. Способность этих типов расширяться и настраиваться, как показано при создании "custom_type", подчеркивает универсальность Atlas в удовлетворении разнообразных требований к метаданным.

Подробный процесс установки и настройки Apache Atlas показывает совместимость программного обеспечения с различными средами. Шаги, связанные с загрузкой, сборкой и настройкой, дают представление о практических аспектах развертывания Atlas в среде разработки. Эти знания имеют решающее значение для организаций, стремящихся интегрировать Atlas в свои системы управления данными.

Кроме того, манипулирование типами и сущностями с помощью REST API и пользовательского интерфейса демонстрирует динамическую структуру Apache Atlas. REST API, в частности, предлагает программируемый интерфейс для взаимодействия с моделью метаданных, облегчая автоматизированные и сложные операции управления метаданными. Возможность добавлять, удалять и обновлять типы и сущности отражает способность системы реагировать на меняющиеся потребности в управлении данными.

Будущие исследования в этой области могли бы быть направлены на упрощение взаимодействия с пользователем, возможно, путем разработки более интуитивно понятных интерфейсов или автоматизированных процедур настройки. Кроме того, изучение интеграции Apache Atlas с новыми технологиями, такими как облачные сервисы и машинное обучение, могло бы еще больше повысить его полезность в управлении метаданными.

 

Заключение

В заключение следует отметить, что Apache Atlas зарекомендовал себя как мощный инструмент в области управления данными, предлагающий комплексные решения для управления метаданными в экосистемах Hadoop. Его гибкая модель данных в сочетании с возможностью манипулирования метаданными с помощью сервисов RESTful и удобного пользовательского интерфейса позиционируют его как важный компонент в современных архитектурах данных. Однако есть возможности для улучшений и расширений, особенно в области доступности для пользователей и интеграции технологий, которые могли бы стать предметом будущих усовершенствований и исследований.

 

СПИСОК ЛИТЕРАТУРЫ:

 

  1. Artemov A., Apache Atlas- Quick start (part I — REST & UI). URL: https://lexaneon.medium.com/apache-atlas-quick-start-part-i-rest-ui-9084e46fa5db
  2. Apache Atlas – доступный data catalog. URL: https://habr.com/ru/companies/glowbyte/articles/667834/
  3. Apache Atlas project page. URL: https://atlas.apache.org/#/
  4. Apache Atlas GitHub. URL: https://github.com/apache/atlas
  5. What is hard & soft deletion. URL: https://issues.apache.org/jira/browse/ATLAS-2774
  6. Apache Atlas — Using the v2 Rest API. URL: https://medium.com/hashmapinc/apache-atlas-using-the-v2-rest-api-6f9be1c256ae

 

Artemov A.A.

Lead Data Engineer, Schwarz Media Plattform GmbH

(Mulheim, Germany)

 

EFFECTIVE MANAGEMENT AND USE OF APACHE ATLAS

FOR DATA MANAGEMENT IN HADOOP ECOSYSTEMS

 

Abstract: this article presents a detailed study of Apache Atlas, a key tool for managing metadata and data in Hadoop ecosystems. The focus is on practical aspects, considering local installation, data model overview, and manipulation of types and entities using the REST API and user interface. The study provides detailed recommendations for configuring Apache Atlas, including environment configuration and server initialization. It examines the data model in detail, emphasizes the concepts of "Type" and "Entity", in particular the types "DataSet" and "Process". In addition, the document illustrates how to dynamically add, delete, and update types and entities, emphasizing Atlas' flexibility and adaptability in modern data management.

 

Keywords: apache atlas, metadata management, data management, hadoop ecosystem, rest api, user interface, data model, installation guide, type manipulation, entity management.

  


Полная версия статьи PDF

Номер журнала Вестник науки №1 (70) том 1

  


Ссылка для цитирования:

Артемов А.А. ЭФФЕКТИВНОЕ УПРАВЛЕНИЕ И ИСПОЛЬЗОВАНИЕ APACHE ATLAS ДЛЯ УПРАВЛЕНИЯ ДАННЫМИ В ЭКОСИСТЕМАХ HADOOP // Вестник науки №1 (70) том 1. С. 354 - 374. 2024 г. ISSN 2712-8849 // Электронный ресурс: https://www.вестник-науки.рф/article/12238 (дата обращения: 17.05.2024 г.)


Альтернативная ссылка латинскими символами: vestnik-nauki.com/article/12238



Нашли грубую ошибку (плагиат, фальсифицированные данные или иные нарушения научно-издательской этики) ?
- напишите письмо в редакцию журнала: zhurnal@vestnik-nauki.com


Вестник науки СМИ ЭЛ № ФС 77 - 84401 © 2024.    16+




* В выпусках журнала могут упоминаться организации (Meta, Facebook, Instagram) в отношении которых судом принято вступившее в законную силу решение о ликвидации или запрете деятельности по основаниям, предусмотренным Федеральным законом от 25 июля 2002 года № 114-ФЗ 'О противодействии экстремистской деятельности' (далее - Федеральный закон 'О противодействии экстремистской деятельности'), или об организации, включенной в опубликованный единый федеральный список организаций, в том числе иностранных и международных организаций, признанных в соответствии с законодательством Российской Федерации террористическими, без указания на то, что соответствующее общественное объединение или иная организация ликвидированы или их деятельность запрещена.