Перейти к основному содержимому
Версия: 1.1.0

Сущности Apache Atlas использующиеся в ADCP

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

В Apache Atlas реализованы и используются в рамках ADCP 3 основные раздела

Entity - Используется для описания физических сущностей и датасетов.

Glossary - Используется для описания бизнес-терминов и их группировки.

Classification - Используется для классификации бизнес-терминов и датасетов.

Entity

Apache Atlas предоставляет возможность описывать физические источники данных и связывать их между собой. В рамках ADCP используется 5 различных entity для описания датасета как для пользователя, так и для системы в целом.

agg_rdbms_instance - Используется для описания инстанса БД, в которой храняться датасеты

agg_rdbms_db - Используется для описания БД в инстансе

agg_rdbms_table - Используется для описания таблиц

agg_rdbms_field - Используется для описания полей

agg_dataset - Используется для описания датасетов

agg_rdbms_instance

Сущность для описания инстанса, на котором физически хранятся загружаемые датасеты.

Используется для указания инстанса, в котором хранятся данные.

Для корректного описания инстанса используются следующие поля:

Наименование поляПредназначениеПример заполнения
rdbms_typeТип СУБД инстанса. На текущий момент поддерживается только ClickHouseclickhouse
hostnameУказывается хост инстанса к которому необходимо обращаться10.10.0.0 или your-kube.cluster.internal.address
portПорт для подключения к инстансу8123
usernameИмя пользователя инстанса которое будет использоваться для подключенияusername
passwordПароль для доступа к даннымqwerty123
nameЧеловекочитаемое наименование инстанса. Необходимо заполнять латинскими символамиsome_ch1_instance
qualifiedNameУникальное наименование инстанса, аналог ID в Apache Atlassome_ch1_instance
sourceNameИсходное наименование инстанса, по смыслу совпадает с полем namesome_ch1_instance
isEnabledУказывает доступен внесенный инстанс для работы с ним или нет. Устанавливается пользователем, по умолчанию TrueTrue или False

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

agg_rdbms_db

Сущность для описания БД, в которой физически хранятся загружаемые датасеты.

Используется для указания БД, в которой хранятся данные.

Для корректного описания БД используются следующие поля:

Наименование поляПредназначениеПример заполнения
nameЧеловекочитаемое наименование БД. Необходимо заполнять латинскими символамиsome_db_friendly_name
qualifiedNameУникальное наименование БД, аналог ID в Apache Atlas. Рекомендуется использовать в этом наименовании qualifiedName инстанса в котором находится БД для упрощения обслуживанияsome_ch1_instance.some_db
sourceNameИсходное имя БД отображающее то как называется БД в вашем инстансеsome_db
isEnabledУказывает доступен внесенная БД для работы с ним или нет. Устанавливается пользователем, по умолчанию TrueTrue или False
InstanceСсылка на инстанс в котором расположена БД. В поиске в интерфейсе Apache Atlas при создании БД используется qualifiedName уже добавленных инстансовsome_ch1_instance

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

agg_rdbms_table

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

Экземпляр сущности создается автоматически силами ADCP корректного внесения информации об инстансе и БД.

Для корректного описания таблиц используются следующие поля:

Наименование поляПредназначениеПример заполнения
dataUpdatedAtДата последнего обновления информации в таблице. Заполняется автоматически2022-05-20 15:23:40.000
sizeКоличество строк в таблице. Заполняется автоматически5000000
nameЧеловекочитаемое наименование таблицы. Необходимо заполнять латинскими символамиsome_table_frendly_name
qualifiedNameУникальное наименование таблицы, аналог ID в Apache Atlas. Рекомендуется использовать в этом наименовании qualifiedName БД в котором находится таблица для упрощения обслуживанияsome_ch1_instance.some_db.some_table
sourceNameИсходное имя таблицы отображающее то как называется таблица в вашей БДsome_table
isEnabledУказывает доступен внесенная БД для работы с ним или нет. Устанавливается пользователем, по умолчанию TrueTrue или False
dbСсылка на БД в котором расположена таблица. В поиске в интерфейсе Apache Atlas при создании таблицы используется qualifiedName уже добавленных БДsome_ch1_instance.some_db

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

agg_rdbms_field

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

Экземпляр сущности создается автоматически силами ADCP корректного внесения информации об инстансе и БД.

Для корректного описания полей таблицы используются следующие поля:

Наименование поляПредназначениеПример заполнения
dataTypeТип данных в полеvarbinary или integer и т.д.
nameЧеловекочитаемое наименование поля. Необходимо заполнять латинскими символамиsome_field_friendly_name
qualifiedNameУникальное наименование поля, аналог ID в Apache Atlas. Рекомендуется использовать в этом наименовании qualifiedName таблицы в котором находится таблица для упрощения обслуживанияsome_ch1_instance.some_db.some_table.some_field
sourceNameИсходное имя поля отображающее то как называется поле в таблицеsome_field
isEnabledУказывает доступен внесенная БД для работы с ним или нет. Устанавливается пользователем, по умолчанию TrueУказывает доступен внесенная БД для работы с ним или нет. Устанавливается пользователем, по умолчанию True
tableСсылка на таблицу в котором расположена таблица. В поиске в интерфейсе Apache Atlas при создании поля используется qualifiedName уже добавленных таблицsome_ch1_instance.some_db.some_table

agg_dataset

Сущность для описания датасета.

Для корректного описания датасета используются следующие поля:

Наименование поляПредназначениеПример заполнения
descriptionЧеловекочитаемое описание датасетаДатасет содержит в себе информацию о пользователях совершавших покупки за последний месяц
nameEnНаименование датасета на английскомLast month transactions
nameRuНаименование датасета на русскомТранзакции последнего месяца
qualifiedNameУникальное наименование датасета, аналог ID в Apache Atlas.my-first-dataset
tableСсылка на таблицу в которой находится информация о датасете. В поиске в интерфейсе Apache Atlas при создании поля используется qualifiedName уже добавленных таблицsome_ch1_instance.some_db.some_table

Glossary

Apache Atlas позволяет создавать списки локальных глоссариев и добавлять в них бизнес-термины.

Для удобной работы с бизнес-терминами реализовано 2 основные сущности:

Glossary - Глоссарий - “папка” с бизнес-терминами

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

Glossary

Сущность используемая для упорядочивания бизнес-терминов.

В самой сущности Glossary используется 3 поля:

Наименование поляПредназначение поля
NameНаименование глоссария, используется для обозначения “папки”.
Short DescriptionКраткое описание глоссария.
Long DescriptionРазвернутое описание глоссария.

Эти данные не используются в интерфейсе ADCP, поэтому возможно называть глоссарий любым образом, как это удобно инженеру

Term

Сам бизнес-термин, который после создания будет отображаться в разделе “Глоссарий” ADCP.

При создании термина возможно заполнить следующие поля:

Наименование поляПредназначение поля
NameНаименование термина. Используется как русское наименование термина в интерфейсе ADCP
Short DescriptionКраткое описание термина. Не используется в интерфейсе ADCP, может не заполняться.
Long DescriptionОписание глоссария. Используется как описание термина в интерфейсе ADCP, необходимо для публикации

Classification

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

В рамках ADCP используются 3 классификатора для бизнес-терминов и 1 для датасетов.

Для бизнес-терминов:

  • entity
  • computed_attribute
  • static_attribute

Для датасетов:

  • agg_dataset_classification

Классификаторы бизнес-терминов

entity, static_attribute

Классификатор entity используется для присвоения к бизнес-терминам, которые описывают сущность, например, идентификатор пользователя.

Классификатор static_attribute используется для присвоения к бизнес-терминам, которые описывают статичные атрибуты сущностей, такие как пол или дата рождения клиента.

В классификаторах используются следующие поля:

Наименование поляОписание поля
confidentialityИспользуется для указания уровня конфиденциальности термина
nameEnИспользуется для указания наименования термина на английском
statusСтатус использования термина в вашей организации
subjectAreaПредметная область к которой относится термин
visibilityAreaИспользуется для указания уровня видимости темина и полей среди компаний партнеров.

computed_attribute

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

Наименование поляОписание поля
confidentialityИспользуется для указания уровня конфиденциальности термина
nameEnИспользуется для указания наименования термина на английском
statusСтатус использования термина в вашей организации
subjectAreaПредметная область к которой относится термин
visibilityAreaИспользуется для указания уровня видимости темина и полей среди компаний партнеров.
aggregationMethodologyОписание методологии агрегации.
calculationMethodОписание методологии расчета
measurementUnitЕдиница измерения

Классификатор датасета

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

Наименование поляОписание поля
clientAudienceSourceМорально устаревшее поле. Ранее использовалось для указания является ли датасет источником уникальных клиентов.
confidentialityИспользуется для указания уровня конфиденциальности датасета
dataOwnerУказывается имя владельца данных - человека ответственного за датасет и его содержание
detailingУровень детализации датасета. Указывается насколько детальные данные в таблице, например когда каждая строка датасета относится к одному клиенту, но в детализации указывается “Клиент”
updateFrequencyЧастота обновления, то с какой частотой планируется обновлять данные в датасете.
visibilityAreaИспользуется для указания уровня видимости датасета среди компаний партнеров