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


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

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

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

ПримечаниеПримечание

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

Важное примечаниеВажно!

Задача «Профилирование данных» работает только с данными, хранящимися в СУБД SQL Server 2000 или более поздних версий. Эта задача не работает со сторонними источниками данных, а также с источниками данных на основе файлов.

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

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

Важное примечаниеВажно!

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

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

Основные сведения о доступных профилях

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

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

Профили, предназначенные для анализа отдельных столбцов

Описание

Профиль распределения длины столбцов

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

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

Профиль соотношения значений NULL в столбцах

Сообщает процентную долю значений NULL в выбранном столбце.

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

Профиль шаблона столбцов

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

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

Профиль статистики столбцов

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

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

Профиль распределения значений столбцов

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

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

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

Профили, предназначенные для анализа нескольких столбцов

Описание

Профиль потенциальных ключей

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

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

Профиль функциональной зависимости

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

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

Профиль включения значений

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

Этот профиль также поможет выявить проблемы в данных, такие как наличие недопустимых значений. Например, во время профилирования столбца 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 в столбцах. Задача не вычисляет профиль распределения длины столбцов, профиль шаблона столбцов, профиль статистики столбцов и профиль распределения значений столбцов.

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

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

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

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

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

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

Запись журнала

Описание

DataProfilingTaskTrace

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

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

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

  • Окончание запроса.

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

Основные сведения о выходных данных и их схеме

Задача «Профилирование данных» выводит выбранные профили в 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 в столбце превышает определенный порог. Если это условие выполняется, то можно прервать выполнение пакета и разрешить проблему перед тем, как продолжать обработку.

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

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

Значок служб Integration Services (маленький)Будьте в курсе новых возможностей cлужб Integration Services

Чтобы загружать новейшую документацию, статьи, образцы и видеоматериалы от корпорации Майкрософт, а также лучшие решения от участников сообщества, посетите страницу служб Integration Services на сайтах MSDN или TechNet:

Чтобы получать автоматические уведомления об этих обновлениях, подпишитесь на RSS-каналы, предлагаемые на этой странице.

Журнал изменений

Обновленное содержимое

  • Добавлено примечание об отправке функцией углубленной детализации активных запросов к источнику данных.

  • Добавлены сведения о доступных пользовательских сообщениях для ведения журнала.