Сущности 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 | Тип СУБД инстанса. На текущий момент поддерживается только ClickHouse | clickhouse |
hostname | Указывается хост инстанса к которому необходимо обращаться | 10.10.0.0 или your-kube.cluster.internal.address |
port | Порт для подключения к инстансу | 8123 |
username | Имя пользователя инстанса которое будет использоваться для подключения | username |
password | Пароль для доступа к данным | qwerty123 |
name | Человекочитаемое наименование инстанса. Необходимо заполнять латинскими символами | some_ch1_instance |
qualifiedName | Уникальное наименование инстанса, аналог ID в Apache Atlas | some_ch1_instance |
sourceName | Исходное наименование инстанса, по смыслу совпадает с полем name | some_ch1_instance |
isEnabled | Указывает доступен внесенный инстанс для работы с ним или нет. Устанавливается пользователем, по умолчанию True | True или False |
Все остальные поля, которые могут встречаться в этой сущности, являются неактуальными и будут удалены в будущих релизах.
agg_rdbms_db
Сущность для описания БД, в которой физически хранятся загружаемые датасеты.
Используется для указания БД, в которой хранятся данные.
Для корректного описания БД используются следующие поля:
Наименование поля | Предназначение | Пример заполнения |
---|---|---|
name | Человекочитаемое наименование БД. Необходимо заполнять латинскими символами | some_db_friendly_name |
qualifiedName | Уникальное наименование БД, аналог ID в Apache Atlas. Рекомендуется использовать в этом наименовании qualifiedName инстанса в котором находится БД для упрощения обслуживания | some_ch1_instance.some_db |
sourceName | Исходное имя БД отображающее то как называется БД в вашем инстансе | some_db |
isEnabled | Указывает доступен внесенная БД для работы с ним или нет. Устанавливается пользователем, по умолчанию True | True или 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 | Указывает доступен внесенная БД для работы с ним или нет. Устанавливается пользователем, по умолчанию True | True или 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 | Используется для указания уровня видимости датасета среди компаний партнеров |