Skip to content

Домены

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

Настройки, предварительные условия, разрешения

  • Для создания домена пользователь должен обладать привилегией 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.*"