Домены
Каталог данных позволяет логически группировать объекты источников в Домены. Домен является верхнеуровневым типом объекта в Каталоге данных, который обеспечивает объединение объектов различных типов. Важно отметить, что один объект в любой момент времени может принадлежать только одному домену.
Настройки, предварительные условия, разрешения
- Для создания домена пользователь должен обладать привилегией Manage Domains
- Для добавления или удаления связи с доменом необходима привилегия Edit Domain
Подробнее о правах доступа в Каталоге данных можно почитать здесь
Страница доменов
Для перехода на страницу домена необходимо выбрать пункт Domains в меню Govern верхней панели страницы.
На левой боковой панели отображается список всех созданных на данный момент доменов, упорядоченных в алфавитом порядке, выше находится строка поиска по доменам. В центральной части страницы отображается тот же список доменов в расширенном виде: слева от названия указывается иконка, ниже отображается количество объектов (entity
), которые домен в себе содержит, а также количество поддоменов (sub-domains
).
Создание домена
Создать домен можно по нажатию одной из двух кнопок на странице доменов: + или кнопки + New Domain. В открывшемся окне обязательно указать наименование создаваемого домена, дополнительно можно выбрать родительский домен из списка уже существующих (создаваемый домен станет дочерним), а также сразу указать описание домена. Чаще всего имя домена будет соответствовать бизнес-подразделениям или группам. Имя и описание можно изменить позже.
Расширенные настройки создания домена
При нажатии на раздел расширенные параметры (Advanced Options) отобразится поле Domain Id. В этом поле можно указать часть URN создаваемого домена. Эта опция будет полезна, если есть необходимость сделать URN домена человекочитаемым. Важно: после того, как домен был создан, изменить его URN нельзя.
В общем случае, urn домена можно не указывать вручную, он будет сгенерирован автоматически. После заполнения всех необходимых полей нажмите Create для создания домена. Он отобразится в общем списке доменов.
Редактирование домена
На странице домена можно редактировать его наименование, описание, добавлять или удалять владельцев, добавлять ссылки.
Связь объектов с доменом
Объекты могут быть связаны с доменом через интерфейс Каталога данных или во время инджестинга (Ingestion) метаданных.
Связь через интерфейс
Для связи объекта с доменом, перейдите на страницу объекта и найдите раздел Domain в правой боковой панели. Нажмите Set Domain и выберите необходимый домен, затем нажмите кнопку Add. При добавлении домена к объекту все дочерние объекты так же получат связь с этом доменом, причем удалить данную связь можно только со страницы объекта-родителя.
Добавить домен нельзя для следующих объектов:
- Продукт (Product), однако Продукт может быть связан с платформой во время инджестинга,
- Тег (Tag),
- Платформа (Platform instance),
- Пространство (Key),
- Человек (People),
- Группа терминов (Term Group).
Для удаления связи объекта с доменом, нажмите иконку x справа от названия домена и затем подтвердите удаление связи.
Для просмотра истории добавления и удаления связи домена и объекта необходимо нажать на иконку часов на правой боковой панели. По нажатию на нее появляется тултип, который показывает, кем и когда была изменена запись, здесь так же можно посмотреть urn данного домена.
Связь во время инджестинга метаданных
Все SQL источники, с которыми может работать Каталог данных поддерживают создание связи домена и объектов непосредственно во время процесса инджестинга. Для этого необходимо заполнить раздел domain рецепта. Удостовериться, что связь с доменом поддерживается для конкретной технологии можно на странице описания инджестора для этой технологии.
При добавлении связи с доменом во время инджестинга, - предыдущие связи (например, сделанные через интерфейс) будут перезаписаны новым значением, т.к. один объект может быть привязан только к одному домену.
Ниже приведен небольшой пример рецепта, в котором устанавливается связь домена с объектами. Домен Analytics будет применен ко всем объектам внутри схемы analytics базы данных dbname. Домен Finance будет применен ко всем объектам внутри схемы accounting базы данных dbname.
pipeline_name: Analytics_DB
sink:
config:
server: 'https://datacat.yourcompany.ru'
token: '********'
type: catalog-rest
source:
type: postgres
config:
database: dc_analytics
host_port: 'analytics.yourcompany.ru:5432'
username: datacat
password: '********'
platform_instance: Analytics_Database
stateful_ingestion:
enabled: true
domain:
Analytics:
allow:
- "dbname.analytics.*"
Finance:
allow:
- "dbname.accounting.*"
В случае, если используется имя домена (а не его urn), как в примере выше (для домена Analytics), - при инджестинге сначала будет проверено существование домена с urn вида
urn:li:domain:Analytics
. В случае, если домена с таким urn не существует, будет проверено существование домена с таким именем (независимо от его urn). Если домена с таким именем также не существует, процесс инджестинга будет прерван.
Для однозначного определения домена, в рецепте необходимо использовать его urn.
Пример:
pipeline_name: Analytics_DB
sink:
config:
server: 'https://datacat.yourcompany.ru'
token: '********'
type: catalog-rest
source:
type: postgres
config:
database: dc_analytics
host_port: 'analytics.yourcompany.ru:5432'
username: datacat
password: '********'
platform_instance: Analytics_Database
stateful_ingestion:
enabled: true
domain:
"urn:li:domain:6289fccc-4af2-4cbb-96ed-051e7d1de93c":
allow:
- "dbname.analytics.*"
"urn:li:domain:07155b15-cee6-4fda-b1c1-5a19a6b74c3a":
allow:
- "dbname.accounting.*"