Образец пакета Data Cleaning
Изменения: 5 декабря 2005 г.
Образец Data Cleaning — это пакет, который очищает данные. Пакет использует в качестве данных списки имен и адресов потенциальных заказчиков. Данные требуют очистки: они содержат орфографические ошибки, отсутствуют некоторые сведения, занесены заказчики, уже включенные в базу данных, содержатся недостоверные сведения о заказчиках или несколько слегка различающихся экземпляров одного заказчика.
Поток управления пакета состоит из двух задач. Первая — это задача «Выполнение SQL», которая создает входную таблицу CustomerLeads и три выходных таблицы: ExistingCustomerLeads для существующих заказчиков, NewCustomerLeads для новых заказчиков и DuplicateCustomerLeads для дубликатов. Вторая задача — «Поток данных», которая проводит очистку данных, извлекаемых из таблицы CustomerLeads. Поток данных выделяет уникальных новых, существующих и дублирующих заказчиков и записывает строку о каждом типе заказчика в соответствующую выходную таблицу.
Для открытия и запуска образца в локализованной версии Windows, возможно, понадобится заменить локализованное имя папки «Program Files».
Примечание. |
---|
В этом образце используются преобразования «Нечеткое группирование» и «Нечеткий уточняющий запрос», которые доступны только в выпуске SQL Server 2005 Enterprise Edition. |
Важно! |
---|
Образцы предназначены только для обучения. Они не предназначены для использования в рабочей среде и не тестировались в ней. Майкрософт не предоставляет техническую поддержку для этих образцов. |
Дополнительные сведения об очистке см. в статьях библиотеки 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 — 3 для других путей.
Запуск образца
Пакет можно запустить из командной строки с помощью программы dtexec или выполнить в среде Business Intelligence Development Studio.
Если используется локализованная версия Windows, то для успешного запуска образца пакета может потребоваться обновить свойство ConnectionString всех диспетчеров подключения файлов, используемых в пакете. Следует проверить правильность пути, используемого диспетчером соединений на компьютере, и при необходимости изменить путь, указав в нем локализованное имя папки «Program Files».
В этом образце, возможно, понадобится обновить «Program Files» в свойстве ConnectionString диспетчера соединений CreateTables.sql.
Выполнение пакета при помощи программы dtexec
Откройте окно командной строки.
Перейдите в каталог «C:\Program Files\Microsoft SQL Server\90\DTS\Binn», в котором находится программа dtexec.
Введите следующую команду:
dtexec /f "C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Package Samples\Data Cleaning Sample\DataCleaning\DataCleaning.dtsx"
Нажмите клавишу ВВОД.
Дополнительные сведения о запуске пакета с помощью программы dtexec см. в разделе «Программа dtexec» электронной документации по SQL Server 2005.
Запуск пакета в среде Business Intelligence Development Studio
Откройте среду Business Intelligence Development Studio.
В меню Файл выберите пункт Открыть, а затем выберите Проект или решение.
Найдите папку DataCleaning Sample и дважды щелкните файл DataCleaning.sln.
Находясь в Обозревателе решений, правой кнопкой мыши щелкните файл DataCleaning.dtsx в папке Пакеты служб SSIS и выберите команду Выполнить пакет.
Примечание. |
---|
Если открыть пакет в конструкторе 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 г. |
|