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


Образец пакета Data Cleaning

Изменения: 5 декабря 2005 г.

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

Поток управления пакета состоит из двух задач. Первая — это задача «Выполнение SQL», которая создает входную таблицу CustomerLeads и три выходных таблицы: ExistingCustomerLeads для существующих заказчиков, NewCustomerLeads для новых заказчиков и DuplicateCustomerLeads для дубликатов. Вторая задача — «Поток данных», которая проводит очистку данных, извлекаемых из таблицы CustomerLeads. Поток данных выделяет уникальных новых, существующих и дублирующих заказчиков и записывает строку о каждом типе заказчика в соответствующую выходную таблицу.

Для открытия и запуска образца в локализованной версии Windows, возможно, понадобится заменить локализованное имя папки «Program Files».

ms160742.note(ru-ru,SQL.90).gifПримечание.
В этом образце используются преобразования «Нечеткое группирование» и «Нечеткий уточняющий запрос», которые доступны только в выпуске SQL Server 2005 Enterprise Edition.
ms160742.note(ru-ru,SQL.90).gifВажно!
Образцы предназначены только для обучения. Они не предназначены для использования в рабочей среде и не тестировались в ней. Майкрософт не предоставляет техническую поддержку для этих образцов.

Дополнительные сведения об очистке см. в статьях библиотеки MSDN по адресу https://msdn.microsoft.com/library.

  • Приложения для очистки данных службами SQL Server Integration Services (Windows Media Video).
  • Очистка данных с использованием преобразований «Нечеткое группирование» и «Нечеткий уточняющий запрос» (официальное издание).

Требования

Для запуска образца пакета требуется следующее.

  • Необходимо установить базу данных AdventureWorks и иметь на нее права администратора.
  • Если необходимо запускать образец пакета только из командной строки, следует установить службы SQL Server 2005 Integration Services (SSIS).
  • Если необходимо открывать пакет в конструкторе служб SSIS и запускать образец пакета, следует установить среду Business Intelligence Development Studio.

Дополнительные сведения по установке образцов см. в разделе «Установка образцов пакетов служб Integration Services» электронной документации по SQL Server. Чтобы получить последнюю версию образцов, включая новые, выпущенные после исходной версии SQL Server 2005, см. веб-страницу «Образцы SQL Server 2005 и образцы баз данных (апрель 2006 г.)».

Размещение образца пакета

При стандартной установке пакетов пакет Data Cleaning располагается в следующей папке:

C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Package Samples\DataCleaning Sample\Data Cleaning\.

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

Файл Описание

DataCleaning.dtsx

Образец пакета.

CreateTables.sql

Инструкции SQL для создания таблиц.

Добавление к образцу средств просмотра данных

Чтобы лучше понять, как работает пакет очистки данных, можно добавить средства просмотра данных к потоку данных и наблюдать за перемещением данных между компонентами потока. Рекомендуется добавить средства просмотра данных к следующим путям:

  • путь из Объединить все в Адресат OLE DB — существующие заказчики;
  • путь из Условного разбиения в канонической записи для группы в Адресат OLE DB — уникальные потенциальные заказчики;
  • путь из Условного разбиения в канонической записи для группы в Адресат OLE DB — повторяющиеся потенциальные заказчики.

Добавление средств просмотра данных

  1. Щелкните правой кнопкой мыши путь и выберите пункт Средства просмотра данных.

  2. В редакторе пути потока данных выберите пункт Добавить.

  3. В диалоговом окне Настройка средства просмотра данных выберите пункт Сетка в списке типов. По умолчанию в средстве просмотра данных отображаются все столбцы.

  4. Повторите шаги 1 — 3 для других путей.

Запуск образца

Пакет можно запустить из командной строки с помощью программы dtexec или выполнить в среде Business Intelligence Development Studio.

Если используется локализованная версия Windows, то для успешного запуска образца пакета может потребоваться обновить свойство ConnectionString всех диспетчеров подключения файлов, используемых в пакете. Следует проверить правильность пути, используемого диспетчером соединений на компьютере, и при необходимости изменить путь, указав в нем локализованное имя папки «Program Files».

В этом образце, возможно, понадобится обновить «Program Files» в свойстве ConnectionString диспетчера соединений CreateTables.sql.

Выполнение пакета при помощи программы dtexec

  1. Откройте окно командной строки.

  2. Перейдите в каталог «C:\Program Files\Microsoft SQL Server\90\DTS\Binn», в котором находится программа dtexec.

  3. Введите следующую команду:

    dtexec /f "C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Package Samples\Data Cleaning Sample\DataCleaning\DataCleaning.dtsx"
    
  4. Нажмите клавишу ВВОД.

Дополнительные сведения о запуске пакета с помощью программы dtexec см. в разделе «Программа dtexec» электронной документации по SQL Server 2005.

Запуск пакета в среде Business Intelligence Development Studio

  1. Откройте среду Business Intelligence Development Studio.

  2. В меню Файл выберите пункт Открыть, а затем выберите Проект или решение.

  3. Найдите папку DataCleaning Sample и дважды щелкните файл DataCleaning.sln.

  4. Находясь в Обозревателе решений, правой кнопкой мыши щелкните файл DataCleaning.dtsx в папке Пакеты служб SSIS и выберите команду Выполнить пакет.

ms160742.note(ru-ru,SQL.90).gifПримечание.
Если открыть пакет в конструкторе SSIS и просмотреть свойства пакета, можно заметить, что свойство DelayValidation имеет значение True. Проверку пакета необходимо отложить, поскольку некоторые таблицы, использующиеся в образце пакета Data Cleaning — CustomerLeads и три выходных таблицы ExistingCustomerLeads, NewCustomerLeads и DuplicateCustomerLeads — не создаются до первого запуска пакета. Если свойство DelayValidation имеет значение False, то перед запуском пакета возникает ошибка проверки при открытии пакета в конструкторе служб SSIS.

Компоненты образца

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

Элемент Назначение

Задача «Выполнение SQL»

Задача «Выполнение SQL» носит название Create Customer Address Reference Table View, Populate NewCustomer Input Table and Create Output Tables. Эта задача создает входную таблицу CustomerLeads и три выходных таблицы: ExistingCustomerLeads, NewCustomerLeads и DuplicateCustomerLeads.

Задача «Поток данных»

Задача «Поток данных нечеткого уточняющего запроса» организует поток данных в пакете.

Источник OLE DB

Источник OLE DB — выводы заказчиков считывает данные из таблицы CustomerLeads.

Преобразование «Уточняющий запрос»

Преобразование уточняющего запроса Уточняющий запрос по существующим заказчикам проводит точный уточняющий запрос для выявления существующих заказчиков. Если результаты запроса успешны, запись добавляется в таблицу ExistingCustomerLeads.

Преобразование «Производный столбец»

Преобразование Производный столбец добавляет столбец сходства _Similarity каждой строке и присваивает столбцу значение 1.

Преобразование «Нечеткий уточняющий запрос»

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

Преобразование формирует столбец _Similarity, который содержит показатель сходства для каждой строки. Показатель 0,0 означает, что сходство не выявлено, а 1,0 означает, что найдено точное соответствие. Мерой сходства служат значения от 0,0 до 1,0, при этом близкое к 1,0 значение указывает на большее сходство.

Преобразование «Условное разбиение»

Первое преобразование «Условное разбиение», Условное разбиение по сходству ( _Similarity), направляет входные строки в один из двух выходов в зависимости от значения показателя сходства, определяемого нечетким уточняющим запросом. Строки с показателем сходства >= 0,70 записываются в таблицу ExistingCustomerLeads. Строки с показателем сходства < 70, вероятно, соответствуют новым заказчикам и дополнительно очищаются.

Следующее преобразование «Условное разбиение», Условное разбиение по канонической записи для группы, направляет входную строку в один из двух выходов в зависимости от того, является ли строка данных дубликатом. Если значения столбцов входного и выходного ключей _key_in и _key_out равны, то строка используется как каноническая в группе, и каноническая строка вставляется в таблицу NewCustomerLeads. Если значения столбцов _key_in и _key_out не равны, то строка рассматривается как нестрогий дубликат и вставляется в таблицу DuplicateCustomerLeads.

Преобразование «Объединить все»

Преобразование Объединить все объединяет в один набор данных строки существующих заказчиков как со строгим, так и с нестрогим соответствием.

Преобразование «Нестрогое группирование»

Преобразование Нестрогое группирование группирует заказчиков, которые, вероятно, являются дубликатами. Преобразование добавляет к каждой строке три столбца _key_in, _key_out и _score. _key_in — уникальный идентификатор, присваиваемый каждой входной строке; _key_out содержит определенный _key_in, присвоенный строке, которая наилучшим образом представляет все строки нестрогой группы. Все строки нестрогой группы имеют одинаковое значение _key_out. Столбец _score со значениями от 0,0 до 1,0 описывает текстовое сходство данной входной строки и строки, принятой за каноническую.

Адресаты OLE DB

Адресат OLE DB с именем Адресат OLE DB — существующие заказчики вставляет строки в таблицу ExistingCustomerLeads.

Адресат OLE DB с именем Адресат OLE DB — уникальные потенциальные заказчики вставляет строки в таблицу NewCustomerLeads.

Адресат OLE DB с именем Адресат OLE DB — повторяющиеся потенциальные заказчики вставляет строки в таблицу DuplicateCustomerLeads.

Диспетчер подключения файлов

Диспетчер подключения файлов CreateTables.sql подключается к файлу, который содержит SQL, используемый пакетом.

Диспетчер соединений OLE DB

Диспетчер соединений OLE DB, (local).AdventureWorks, подключается к базе данных AdventureWorks на локальном сервере.

Следующая таблица описывает данные в выходных таблицах.

Таблица Описание

ExistingCustomerLeads

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

NewCustomerLeads

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

DuplicateCustomerLeads

Содержит дубликаты записей новых заказчиков.

Результаты образца

Чтобы посмотреть результаты работы образца пакета Data Cleaning, выполните следующий запрос Transact-SQL:

Select * from AdventureWorks.FuzzyLookupExample.ExistingCustomerLeads
Select * from AdventureWorks.FuzzyLookupExample.NewCustomerLeads
Select * from AdventureWorks.FuzzyLookupExample.DuplicateCustomerLeads

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

Версия Журнал

5 декабря 2005 г.

Измененное содержимое
  • Исправлено имя схемы для использования в инструкциях SELECT, возвращающих результаты выполнения.