Инджестор 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'