Skip to content

Инджестор Microsoft SQL Server

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

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

INFORMATION_SCHEMA: SCHEMATA, TABLES, COLUMNS, TABLE_CONSTRAINTS, CONSTRAINT_COLUMN_USAGE, KEY_COLUMN_USAGE, REFERENTIAL_CONSTRAINTS, VIEWS, SEQUENCES

sys: computed_columns, identity_columns

tempdb.INFORMATION_SCHEMA: COLUMNS

Для выдачи необходимых прав достаточно выполнить следующую команду:

GRANT VIEW DEFINITION ON database::my_database TO my_user;

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

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

Название Описание Поддерживается Настройки
Schema Metadata Вкладка Schema: схема датасета Да Включено по умолчанию.
Descriptions Вкладка Documentation: текстовое описание объекта Да Включено по умолчанию. Можно редактировать через Excel.
Data Lineage Вкладка Lineage: внутренний lineage источника Да Настраивается в рецепте.
Properties Вкладка Properties: системные поля Да Включено по умолчанию. Настраивается в рецепте с помощью трансформеров.
Dataset Usage & Query History Вкладка Queries: запросы и историческая информация о датасете. Да Включено по умолчанию.
Data Profiling (Профилирование данных) Вкладка Stats: количество строк, столбцов, статистики и графики Да Отключено по умолчанию. Настраивается в рецепте, в разделе profiling или при создании источника с помощью Form.
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:
  # ODBC
  # type: mssql-odbc
  type: mssql
  config:
    host_port: localhost:1433  # Хост и порт сервера БД
    username: user             # Пользователь
    password: pass             # Пароль
    database: my_database      # ОПЦИОНАЛЬНО: имя базы данных. Если не указывать данный параметр (убрать данную строку) будут загружены метаданные всех БД на источнике.
    platform_instance: 'Сюда_подставить_platform_instance'  # Наименование источника в Каталоге данных. При переключении с Alation - указать наименование источника в Alation. Заполняется согласно инструкции https://confluence.mts.ru/pages/viewpage.action?pageId=771117872
    stateful_ingestion:
      enabled: true            # Признак включения режима 'Stateful ingesting' - загружаемые данные имеют приоритет над загруженными ранее. Если в загружаемых отсутствуют таблицы/поля - они не будут отображаться в Каталоге
    database_pattern:          # Необязательный параметр. Regex паттерны для разрешения/исключения баз, по умолчанию allow: ['.*'], deny: [], ignoreCase: True
      allow: ['.*']            # Подробности заполнения данного блока  смотрите в разделе ниже 'Заполнение database/schema/table/view_pattern для фильтрации' 
      deny: ['']
      ignoreCase: True
    schema_pattern:            # Необязательный параметр. Regex паттерны для разрешения/исключения схем, по умолчанию allow: ['.*'], deny: ['information_schema'], ignoreCase: True
      allow: ['.*']            # Подробности заполнения данного блока смотрите в разделе ниже 'Заполнение database/schema/table/view_pattern для фильтрации' 
      deny: ['information_schema']
      ignoreCase: True
    table_pattern:             # Необязательный параметр. Regex паттерны для разрешения/исключения таблиц, по умолчанию allow: ['.*'], deny: [], ignoreCase: True. Формат - база.схема.паттерн_таблицы, например, для извлечения таблиц из базы customers, начинающихся с mobile_ - customers.public.mobile_*
      allow: ['.*']            # Подробности заполнения данного блока смотрите в разделе ниже 'Заполнение database/schema/table/view_pattern для фильтрации' 
      deny: []
      ignoreCase: True
    view_pattern:              # Необязательный параметр. Regex паттерны для разрешения/исключения представлений, по умолчанию allow: ['.*'], deny: [], ignoreCase: True
      allow: ['.*']            # Подробности заполнения данного блока смотрите в разделе ниже 'Заполнение database/schema/table/view_pattern для фильтрации' 
      deny: []
      ignoreCase: True

    # Опционально: конфигурация SSL для подключения к источнику
    # options:
    #   connect_args:
    #     cafile: server-ca.pem
    #     validate_host: true

    # For ODBC only
    # use_odbc: 'True'
    # uri_args:
    #   driver: 'ODBC Driver 17 for SQL Server'
    #   Encrypt: "yes"
    #   TrustServerCertificate: "Yes"
    #   ssl: "True"

pipeline_name: 'Сюда_подставить_имя_pipeline'  # Наименование 'процесса', в рамках которого загружены метаданные. Заполняется согласно инструкции https://confluence.mts.ru/pages/viewpage.action?pageId=771117872
sink:
  type: catalog-rest
  config:
    server: 'https://demo-gms.datacatalog.mts.ru'    # список серверов GMS можно посмотреть тут https://confluence.mts.ru/pages/viewpage.action?pageId=673956733
    token: '********'

transformers:
  - type: 'add_mts_products'
    config:
      mts_products: ['BI_XXXX','BI_XXXX']    # Список Продуктов из PPInfo, с которыми будут связаны все сущности, создаваемые по результатам инджестинга. Нужно указать код продукта в PPInfo. Например 'BI_1234'