Поделиться через


Задача «Профилирование данных»

Область применения: среда выполнения интеграции SSIS SQL Server в Фабрика данных Azure

Задача «Профилирование данных» вычисляет различные профили, помогающие ознакомиться с источниками данных и определить ошибки в данных, требующие исправления.

Задачу профилирования данных можно использовать в пакете служб Integration Services для профилирования данных, хранящихся в SQL Server, и для выявления потенциальных проблем с качеством данных.

Примечание.

В этом разделе описаны только возможности и требования задачи "Профилирование данных". Пошаговое руководство по использованию задачи "Профилирование данных" см. в разделе Задачи профилирования и просмотра данных.

Требования и ограничения

Задача профилирования данных работает только с данными, хранящимися в SQL Server. Эта задача не работает со сторонними источниками данных, а также с источниками данных на основе файлов.

Кроме того, для запуска пакета, содержащего задачу «Профилирование данных», необходимо использовать учетную запись с разрешениями на чтение и запись базы данных tempdb, включая разрешение CREATE TABLE.

Средство просмотра «Профилировщик данных»

После вычисления профилей данных с помощью этой задачи и сохранения их в файле можно просмотреть выходные данные профиля с помощью изолированного средства просмотра профиля данных. Кроме того, средство просмотра профиля данных поддерживает возможность углубленной детализации, позволяющую разобраться в проблемах, связанных с качеством данных, выявленных в выходных данных профиля. Дополнительные сведения см. в разделе Средство просмотра профиля данных.

Внимание

Файл выходных данных может содержать конфиденциальные данные о базе данных, а также содержимое этой базы данных. Рекомендации по повышению защищенности этого файла см. в разделе Доступ к файлам, используемым пакетами.

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

Доступные профили

Задача «Профилирование данных» может вычислять восемь различных профилей данных. Пять из них анализируют отдельные столбцы, а остальные три анализируют несколько столбцов или связи между столбцами и таблицами.

Следующие пять профилей предназначены для анализа отдельных столбцов.

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

Этот профиль помогает установить такие ошибки в данных, как недопустимые значения. Например, при профилировании столбца кодов штатов США, которые должны состоять из двух символов, выявляются значения длиной более двух символов.
Профиль соотношения значений NULL в столбцах Сообщает процентную долю значений NULL в выбранном столбце.

Этот профиль помогает определить такие ошибки в данных, как непредвиденно высокая доля значений NULL в столбце. Например, во время профилирования столбца с почтовыми индексами обнаружено, что процент отсутствующих кодов неприемлемо велик.
Профиль шаблона столбцов Сообщает набор регулярных выражений, охватывающий указанную процентную долю значений строкового столбца.

Этот профиль помогает установить такие ошибки в данных, как недопустимые строки. Этот профиль также предложит регулярные выражения, которые в дальнейшем можно будет использовать для проверки новых значений. Например, шаблон профиля для столбца почтовых индексов США может выдавать регулярные выражения: \d{5}-\d{4}, \d{5} и \d{9}. Если выводятся другие регулярные выражения, то скорее всего, в данных содержатся недопустимые значения или значения в неверном формате.
Профиль статистики столбцов Сообщает статистику, например минимальное, максимальное, среднее и стандартное отклонение для числовых столбцов, а также минимальное и максимальное значение для столбцов datetime .

Этот профиль помогает установить такие ошибки в данных, как недопустимые даты. Например, во время профилирования столбца исторических дат обнаружена самая поздняя дата, расположенная в будущем.
Профиль распределения значений столбцов Сообщает все различающиеся значения в выбранном столбце, а также процентную долю строк в таблице, которые представляет каждое значение. Кроме того, может сообщать значения, превышающие указанную процентную долю строк в таблице.

Этот профиль помогает определить такие ошибки в данных, как неверное число различающихся значений в столбце. Например, при профилировании столбца, который должен содержать штаты США, найдено более 50 различающихся значений.

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

Профили, предназначенные для анализа нескольких столбцов Description
Профиль потенциальных ключей Сообщает, является ли столбец или набор столбцов ключом или приблизительным ключом для выбранной таблицы.

Кроме того, этот профиль помогает определить такие столбцы данных, как дублирующиеся значения в потенциальном ключевом столбце.
Профиль функциональной зависимости Сообщает экстент, в котором значения одного столбца (зависимого) зависят от другого столбца или набора столбцов (определяющего столбца).

Этот профиль также поможет выявить проблемы в данных, такие как наличие недопустимых значений. Например, при профилировании зависимости между столбцом с почтовыми индексами США и столбцом, содержащим штаты. Адреса с одним и тем же почтовым кодом должны быть расположены в одном и том же штате, однако профиль обнаружил нарушения этой зависимости.
Профиль включения значений Вычисляет перекрытие значений между двумя столбцами или наборами столбцов. Этот профиль способен определить, может ли столбец или набор столбцов служить в качестве внешнего ключа для выбранных таблиц.

Этот профиль также поможет выявить проблемы в данных, такие как наличие недопустимых значений. Например, во время профилирования столбца ProductID таблицы Sales обнаружено, что этот столбец содержит значения, отсутствующие в столбце ProductID таблицы Products.

Проверка готовности к допустимому профилю

Профиль является допустимым только в том случае, если выбраны непустые таблицы и столбцы, а столбцы содержат типы данных, которые являются допустимыми для данного профиля.

Допустимые типы данных

Некоторые из доступных профилей являются интерпретируемыми только для определенных типов данных. Например, вычисление профиля шаблона столбцов для столбца, который содержит числовые значения или значения datetime , не имеет смысла. Таким образом, подобный профиль будет недопустимым.

Профиль Допустимые типы данных*
ColumnStatisticsProfile Столбцы числового типа или типа datetime (не mean и stddev для столба datetime )
ColumnNullRatioProfile Все столбцы**
ColumnValueDistributionProfile Столбцы типа integer , типа char и типа datetime
ColumnLengthDistributionProfile Столбцы типа char
ColumnPatternProfile Столбцы типа char
CandidateKeyProfile Столбцы типа integer , типа char и типа datetime
FunctionalDependencyProfile Столбцы типа integer , типа char и типа datetime
InclusionProfile Столбцы типа integer , типа char и типа datetime

* В приведенной выше таблице допустимых типов данных типы integer, char, datetime и numeric включают следующие определенные типы данных:

К целочисленным типам относятся bit, tinyint, smallint, intи bigint.

К символьным типам относятся char, nchar, varcharи nvarchar, и не относятся varchar(max) и nvarchar(max).

К типам даты и времени относятся типы datetime, smalldatetimeи timestamp.

К числовым типа относятся типы integer (кроме bit), money, smallmoney, decimal, float, real, и numeric.

** image, text, XML, udt и variant не поддерживаются для профилей, отличных от профиля соотношения значений NULL в столбцах.

Допустимые таблицы и столбцы

Если таблица или столбец пусты, то задача «Профилирование данных» предпринимает следующие действия.

  • Если выбранная таблица или представление пусты, задача «Профилирование данных» не вычисляет никакие профили.

  • Когда все значения в выбранном столбце являются значениями NULL, то задача «Профилирование данных» вычисляет только профиль соотношения значений NULL в столбцах. Задача не вычисляет профиль распределения длины столбцов, профиль шаблона столбцов, профиль статистики столбцов и профиль распределения значений столбцов.

Функции задачи «Профилирование данных»

Задача «Профилирование данных» имеет следующие удобные параметры конфигурации.

  • Столбцы с подстановочными данными. При настройке запроса профиля задача обрабатывает подстановочный знак "звездочка" (*) на месте имени столбца. Это упрощает настройку и облегчает определение характеристик незнакомых данных. При выполнении задачи профилируется каждый столбец, имеющий соответствующий тип данных.

  • Быстрый профиль You can select Быстрый профиль to configure the task quickly. Функция «Быстрый профиль» профилирует таблицу или представление с использованием всех профилей и параметров по умолчанию.

Пользовательские сообщения для ведения журнала, доступные в задаче «Профилирование данных»

В следующей таблице перечислены пользовательские записи в журнале для задачи «Профилирование данных». Дополнительные сведения см. в статье Ведение журналов в службах Integration Services (SSIS).

Запись журнала Description
DataProfilingTaskTrace Содержит описательные сведения о состоянии задачи. Сообщения включают следующие сведения.

Запросы начала обработки.

Начало запроса.

Query End

Запрос на завершение вычислений.

Вывод и его схема

Задача «Профилирование данных» выводит выбранные профили в XML-файл, структурированный в соответствии со схемой DataProfile.xsd. Можно настроить сохранение этих выходных данных в формате XML либо в файле, либо в переменной пакета. Можно просмотреть эту схему через Интернет по адресу https://schemas.microsoft.com/sqlserver/2008/DataDebugger/. С веб-страницы можно сохранить локальную копию схемы. Затем вы можете просмотреть локальную копию схемы в Microsoft Visual Studio или другом редакторе схем, в редакторе XML или текстовом редакторе, например Блокноте.

Использование этой схемы сведений о качестве данных может быть полезно в следующих задачах.

  • Обмен сведениями о качестве данных внутри организации и между различными организациями.

  • Построение собственных средств, работающих со сведениями о качестве данных.

Целевое пространство имен определяется в схеме как https://schemas.microsoft.com/sqlserver/2008/DataDebugger/.

Выходные данные в условном рабочем процессе пакета

Компоненты профилирования данных не включают встроенные функции для реализации условной логики в рабочем процессе пакета служб Integration Services на основе выходных данных задачи профилирования данных. Однако эту логику можно легко добавить с минимальной необходимостью программирования — с помощью задачи «Скрипт». Этот код выполнит запрос XPath к выходным XML-данным, затем сохранит результат в переменной пакета. Управление очередностью, которое соединяет задачу «Скрипт» с последующими задачами, может использовать выражение для определения рабочего процесса. Например, задача «Скрипт» определяет, что процентное отношение значений NULL в столбце превышает определенный порог. Если это условие выполняется, то можно прервать выполнение пакета и разрешить проблему перед тем, как продолжать обработку.

Настройка задачи «Профилирование данных»

Задача «Профилирование данных» настраивается с помощью редактора задачи «Профилирование данных». Редактор имеет две страницы:

Страница «Общие»
На странице Общие задается выходной файл или переменная. Кроме того, можно выбрать Быстрый профиль для быстрой настройки задачи для вычисления профилей с использованием параметров по умолчанию. Дополнительные сведения см. в статье Форма быстрого профиля одной таблицы (задача "Профилирование данных").

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