Skip to content

Инджестор MongoDB

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

При включенном access control y пользователя должны быть следующие actions на кластере:

  • listDatabases,
  • listCollections,
  • find,
  • для извлечения размеров коллекций - collStats,
  • для извлечения привилегий пользователей - viewUser.

Пример команд для выдачи всех необходимых привилегий инжестору:

db.createRole({role: "ingestorRead",privileges: [{ resource: { cluster: true }, actions: [ "viewUser", "listDatabases"]}, {resource: { db: "", collection: "" }, actions: ["find", "listCollections", "collStats", "viewUser"] }],roles: []})
db.createUser({user: "ingest_user", pwd: "password", roles: [ { role: "ingestorRead", db: "admin" }]})

Возможности платформы (Important Capabilities)

Название Описание Поддерживается Настройки
Schema Metadata Вкладка Schema: схема датасета Да Включено по умолчанию.
Descriptions Вкладка Documentation: текстовое описание объекта Да Включено по умолчанию. Можно редактировать через Excel.
Data Lineage Вкладка Lineage: внутренний lineage источника Нет
Properties Вкладка Properties: системные поля Да Включено по умолчанию. Настраивается в рецепте с помощью трансформеров.
Dataset Usage & Query History Вкладка Queries: запросы и историческая информация о датасете Да Включено по умолчанию.
Data Profiling (Профилирование данных) Вкладка Stats: количество строк, столбцов, статистики и графики Нет
DQ Checks Вкладка DQ Checks: проверка качества данных Да Отключено по умолчанию. Настраивается с помощью дополнительного инджестора.
Platform Instance Наличие у объекта связи с платформ инстансом Да Включено по умолчанию. Настраивается в рецепте.
Critical data Чекбокс Critical полей Да Включено по умолчанию. Можно редактировать через Excel.
Ownership Наличие у объекта владельца Да Включено по умолчанию. Можно редактировать через Excel или с помощью трансформеров.
Detect deleted entities Проверка удалены ли данные в источнике. Да Отключено по умолчанию. Настраивается в рецепте, в разделе stateful ingestion.
Status Пометить удаленным Да Включено по умолчанию. Можно редактировать с помощью трансформеров.
Tags Наличие у объекта тега Да Включено по умолчанию. Можно редактировать через Excel и с помощью трансформеров.
Glossary Term Наличие у объекта связи с термином Да Включено по умолчанию. Можно редактировать через Excel или с помощью трансформеров.
Domains (Домены) Наличие у объекта связи с доменом Да Настраивается в рецепте, в разделе stateful ingestion. Можно редактировать через Excel или с помощью трансформеров.

Пример рецепта

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

source:
  type: mongodb-dc
  config:
    connect_uri: mongodb://localhost  # Хост и порт сервера БД
    include_dataset_privileges: true  # Извлечение грантов пользователей
    authMechanism: 'DEFAULT'          # Механизм аутентификации MongoDB
    username: user                    # Пользователь
    password: pass                    # Пароль
    platform_instance: 'Сюда_подставить_platform_instance'
    stateful_ingestion:
      enabled: true                   # Признак включения режима 'Stateful ingesting' - загружаемые данные имеют приоритет над загруженными ранее. Если в загружаемых отсутствуют коллекции/поля - они не будут отображаться в Каталоге
    collection_pattern:               # Необязательный параметр. Regex паттерны для разрешения/исключения коллекций, по умолчанию allow: ['.*'], deny: [], ignoreCase: True.
      allow: ['.*']
      deny: []
      ignoreCase: True
    database_pattern:                 # Необязательный параметр. Regex паттерны для разрешения/исключения баз, по умолчанию allow: ['.*'], deny: [], ignoreCase: True.
      allow: ['.*']
      deny: []
      ignoreCase: True
pipeline_name: 'Сюда_подставить_имя_pipeline'
sink:
  type: catalog-rest
  config:
    server: 'https://gms.datacatalog.ru'
    token: '********'
transformers:
  - type: 'add_digital_products'
    config:
      digital_products: ['PRODUCT_ID1','PRODUCT_ID2']  # Список продуктов из мастер-системы, с которыми будут связаны все объекты, создаваемые по результатам инджестинга.