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


Загрузка данных в выделенный пул SQL в Azure Synapse Analytics с помощью SQL Server Integration Services (SSIS)

Область применения:Azure Synapse Analytics

Вы можете создать пакет SQL Server Integration Services (SSIS) для загрузки данных в выделенный пул SQL в Azure Synapse Analytics. При необходимости можно реструктуризировать, преобразовать и очистить данные по мере их прохождения через поток данных SSIS.

В этой статье показано следующее:

  • Создание проекта служб Integration Services в Visual Studio.
  • Создание пакета служб SSIS, который загружает данные из источника в назначение.
  • Запуск пакета служб SSIS для загрузки данных.

Основные понятия

Пакет — это базовая единица работы в службах SSIS. Связанные пакеты группируются в проекты. Для создания проектов и пакетов разработки в Visual Studio используется SQL Server Data Tools. Процесс разработки — это визуальный процесс, в котором вы перетаскиваете компоненты с панели элементов в область конструктора, соединяете их и задаете их свойства. Завершив создание пакета, вы можете запустить его и при необходимости развернуть в SQL Server или Базе данных SQL, чтобы получить комплексные возможности управления, мониторинга и защиты.

В рамках этой статьи службы SSIS не будут разбираться подробно. Дополнительные сведения см. в следующих разделах:

Варианты загрузки данных в Azure Synapse Analytics с помощью SSIS

SQL Server Integration Services (SSIS) — это гибкий набор средств, которые предоставляют различные варианты подключения и загрузки данных в Azure Synapse Analytics.

  1. Предпочтительный и самый эффективный метод — создать пакет, где загрузка выполняется с помощью задачи отправки информации в Хранилище данных SQL Azure. Эта задача включает сведения как об источнике, так и о получателе. Она предполагает, что исходные данные хранятся локально в текстовых файлах с разделителями.

  2. Как альтернативный вариант, вы можете создать пакет, где используется задача потока данных, содержащая источник и получатель. Этот подход позволяет использовать самые разные источники данных, включая SQL Server и Azure Synapse Analytics.

Необходимые компоненты

Для прохождения этого руководства потребуется следующее.

  1. SQL Server Integration Services (SSIS). Службы SSIS — это компонент SQL Server, которому для работы нужна лицензионная версия, версия для разработчиков или ознакомительная версия SQL Server. Получить ознакомительную версию SQL Server.

  2. Visual Studio (необязательно). Для получения бесплатного выпуска Visual Studio Community см. раздел Visual Studio Community. Если вы не хотите устанавливать Visual Studio, вы можете установить только SQL Server Data Tools (SSDT). Установка SSDT включает версию Visual Studio с ограниченной функциональностью.

  3. SQL Server Data Tools для Visual Studio (SSDT). Чтобы получить SQL Server Data Tools для Visual Studio, см. раздел Скачивание SQL Server Data Tools (SSDT).

  4. База данных и разрешения Azure Synapse Analytics. В этом учебнике мы подключимся к выделенному пулу SQL в экземпляре Azure Synapse Analytics и загрузим в него данные. У вас должны быть разрешения на подключение, создание таблицы и загрузку данных.

Создание проекта служб Integration Services

  1. Запустите Visual Studio.

  2. В меню Файл выберите Создать | Проект.

  3. Перейдите к типам проектов Установленные | Шаблоны | Бизнес-аналитика | Integration Services.

  4. Выберите Проект служб SSIS. Укажите значения для параметров Имя и Расположение, а затем нажмите кнопку ОК.

Visual Studio открывает и создает проект служб Integration Services (SSIS). Затем Visual Studio открывает конструктор для отдельного нового пакета служб SSIS (Package.dtsx) в проекте. Видны следующие области экрана:

  • В левой части панель элементов для компонентов служб SSIS.

  • В центре область конструктора с несколькими вкладками. Как правило, используются по меньшей мере вкладки Поток управления и Поток данных.

  • В правой части — области Обозреватель решений и Свойства.

    снимок экрана Visual Studio с панелью элементов, областью конструктора, областью обозревателя решений и областью

Вариант 1. Использование задачи отправки информации в Хранилище данных SQL

В первом подходе применяется пакет, использующий задачу отправки информации в Хранилище данных SQL. Эта задача включает сведения как об источнике, так и о получателе. Она предполагает, что исходные данные хранятся в текстовых файлах с разделителями, локально или в хранилище BLOB-объектов Azure.

Необходимые условия для варианта 1

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

  • Пакет дополнительных компонентов Microsoft SQL Server Integration Services для Azure. Задача отправки информации в хранилище данных SQL входит в пакет дополнительных компонентов.

  • Учетная запись хранения BLOB-объектов Azure. Задача отправки в хранилище данных SQL загружает данные из Хранилища BLOB-объектов Azure в Azure Synapse Analytics. Вы можете загружать файлы, которые уже есть в хранилище BLOB-объектов, или файлы с компьютера. При выборе файлов с компьютера задача отправки в хранилище данных SQL сначала отправит файлы в хранилище BLOB-объектов для промежуточной обработки, а затем загрузит их в ваш выделенный пул SQL.

Добавление и настройка задачи отправки информации в хранилище данных SQL

  1. Перетащите задачу отправки информации в хранилище данных SQL с панели элементов в центр области конструктора (на вкладке Поток управления).

  2. Дважды щелкните задачу, чтобы открыть Редактор задачи отправки информации в хранилище данных SQL.

    Снимок экрана страницы

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

Создание похожего решения вручную

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

  1. Используйте задачу передачи BLOB-объектов Azure для размещения данных в хранилище BLOB-объектов Azure. Чтобы получить задачу отправки больших двоичных объектов Azure, скачайте Пакет дополнительных компонентов Microsoft SQL Server Integration Services для Azure.

  2. После этого используйте задачу SSIS "Выполнение SQL", чтобы запустить скрипт PolyBase, который загружает данные в выделенный пул SQL. Пример загрузки данных из Хранилище BLOB-объектов Azure в выделенный пул SQL (но не с SSIS), см. в руководстве по загрузке данных в Azure Synapse Analytics.

Вариант 2. Использование источника и получателя

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

В этом учебнике в качестве источника данных используется SQL Server. SQL Server запускается на локальном компьютере или в виртуальной машине Azure.

Для подключения к SQL Server и к выделенному пулу SQL используйте диспетчер подключений ADO.NET или OLE DB с источником и получателем. В этом руководстве используется платформа ADO.NET, так как в ней меньше всего параметров конфигурации. OLE DB может обеспечить немного лучшую производительность, чем ADO.NET.

Чтобы быстро создать базовый пакет, вы можете использовать Мастер импорта и экспорта SQL Server. Затем сохраните пакет и откройте его в Visual Studio или SSDT для просмотра и настройки. Дополнительные сведения см. в разделе Импорт и экспорт данных с помощью мастера импорта и экспорта SQL Server.

Необходимые условия для варианта 2

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

  1. Образец данных. В качестве исходных данных для загрузки в выделенный пул SQL в этом учебнике используется образец данных, хранимый в SQL Server в образце базы данных AdventureWorks. Чтобы получить образец базы данных AdventureWorks, см. раздел Образцы баз данных AdventureWorks.

  2. Правило брандмауэра. Необходимо создать правило брандмауэра для выделенного пула SQL с IP-адресом локального компьютера, прежде чем вы сможете отправлять в пул данные.

Создание простого потока данных

  1. Перетащите задачу потока данных с панели элементов в центр области конструктора (на вкладке Поток управления).

    снимок экрана Visual Studio с перетаскиванием задачи потока данных на вкладку управляющего потока на панели конструктора.

  2. Дважды щелкните элемент "Задача потока данных", чтобы перейти на вкладку "Поток данных".

  3. В списке "Другие источники" на панели элементов перетащите источник ADO.NET в область конструктора. Выбрав адаптер источника данных, измените его имя на SQL Server source (Источник SQL Server) в области Свойства.

  4. В списке "Другие назначения" на панели элементов перетащите назначение ADO.NET в область конструктора под источником ADO.NET. Выбрав адаптер загрузки данных, измените его имя на SQL DW destination (Назначение хранилища данных SQL) в области Свойства.

    снимок экрана: перетаскивание целевого адаптера в расположение непосредственно под исходным адаптером.

Настройка адаптера источника данных

  1. Дважды щелкните адаптер источника данных, чтобы открыть Редактор источника ADO.NET.

    снимок экрана редактора источника ADO.NET. Вкладка диспетчера подключений отображается и элементы управления доступны для настройки свойств потока данных.

  2. На вкладке диспетчера подключений редактора источников ADO.NET нажмите кнопку "Создать" рядом со списком диспетчера подключений ADO.NET, чтобы открыть диалоговое окно Настройка диспетчера подключений ADO.NET и создать параметры подключения для базы данных SQL Server, из которой этот учебник загружает данные.

    снимок экрана диалогового окна

  3. В диалоговом окне Настройка диспетчера подключений ADO.NET нажмите кнопку Создать, чтобы открыть диалоговое окно диспетчера подключений и создать новое подключение к данным.

    снимок экрана диалогового окна диспетчера соединений. Элементы управления доступны для настройки подключения к данным.

  4. В диалоговом окне Диспетчер соединений сделайте следующее:

    1. В поле Поставщик выберите поставщик данных SqlClient.

    2. В поле Имя сервера введите имя SQL Server.

    3. В разделе Вход на сервер выберите или введите сведения для проверки подлинности.

    4. В разделе Соединение с базой данных выберите образец базы данных AdventureWorks.

    5. Выберите проверить подключение.

      снимок экрана диалогового окна с кнопкой

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

    7. В диалоговом окне диспетчера подключений нажмите кнопку ОК, чтобы вернуться в диалоговое окно Настройка диспетчера подключений ADO.NET.

  5. В диалоговом окне Настройка диспетчера подключений ADO.NET нажмите кнопку ОК, чтобы вернуться к редактору источника ADO.NET.

  6. В окне Редактор источника ADO.NET в списке Имя таблицы или представления выберите таблицу Sales.SalesOrderDetail.

    снимок экрана редактора источника ADO.NET. В списке

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

    снимок экрана диалогового окна

  8. В диалоговом окне предварительный просмотр результатов выберите Закрыть, чтобы вернуться в редактор источника ADO.NET.

  9. Вредакторе источников ADO.NET нажмите кнопку ОК, чтобы завершить настройку источника данных.

Подключение адаптера источника данных к адаптеру загрузки данных

  1. Выберите адаптер источника данных в области конструктора.

  2. Выберите синюю стрелку, отходящую от адаптера источника данных, и перетащите к редактору назначения до ее фиксации.

    снимок экрана: исходные и целевые адаптеры. Синяя стрелка от исходного адаптера к целевому адаптеру.

    В типичном пакете служб SSIS вы используете несколько других компонентов из панели элементов служб SSIS между источником и назначением для реструктурирования, преобразования и очистки данных при прохождении потока данных служб SSIS. Чтобы сделать этот пример как можно более простым, мы подключаем источник непосредственно к назначению.

Настройка адаптера загрузки данных

  1. Дважды щелкните адаптер загрузки данных, чтобы открыть Редактор назначения ADO.NET.

    снимок экрана редактора назначения ADO.NET. Вкладка диспетчера соединений отображается и содержит элементы управления для настройки свойств потока данных.

  2. На вкладке диспетчера подключений редактора назначенияADO.NET выберите кнопку "Создать" рядом со списком диспетчера соединений , чтобы открыть диалоговое окно "Настройка диспетчера подключений ADO.NET" и создайте параметры подключения для базы данных Azure Synapse Analytics, в которую этот учебник загружает данные.

  3. В диалоговом окне Настройка диспетчера подключений ADO.NET нажмите кнопку Создать, чтобы открыть диалоговое окно диспетчера подключений и создать подключение к данным.

  4. В диалоговом окне Диспетчер соединений сделайте следующее:

    1. В поле Поставщик выберите поставщик данных SqlClient.

    2. В поле Имя сервера введите имя выделенного пула SQL.

    3. В разделе Вход на сервер выберите Использовать проверку подлинности SQL Server и введите сведения для проверки подлинности.

    4. В разделе Соединение с базой данных выберите существующую базу данных выделенного пула SQL.

    5. Выберите проверить подключение.

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

    7. В диалоговом окне диспетчера подключений нажмите кнопку ОК, чтобы вернуться в диалоговое окно Настройка диспетчера подключений ADO.NET.

  5. В диалоговом окне Настройка диспетчера подключений ADO.NET нажмите кнопку ОК, чтобы вернуться к редактору назначения ADO.NET.

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

    снимок экрана диалогового окна

  7. В диалоговом окне Создание таблицы сделайте следующее:

    1. Измените имя целевой таблицы на SalesOrderDetail.

    2. Удалите столбец rowguid. Тип данных uniqueidentifier не поддерживается в выделенном пуле SQL.

    3. Измените тип данных столбца LineTotal на money. Тип данных десятичного не поддерживается в выделенном пуле SQL. Сведения о поддерживаемых типах данных см. в разделе CREATE TABLE (Azure Synapse Analytics или Parallel Data Warehouse).

      снимок экрана диалогового окна

    4. Нажмите кнопку ОК, чтобы создать таблицу и вернуться в редактор назначенияADO.NET.

  8. В окне Редактор назначения ADO.NET откройте вкладку Сопоставления, чтобы просмотреть, как столбцы в источнике сопоставляются со столбцами в назначении.

    снимок экрана: вкладка

  9. Нажмите кнопку ОК, чтобы завершить настройку назначения.

Запуск пакета для загрузки данных

Запустите пакет, нажав кнопку "Начать" на панели инструментов или выбрав один из параметров "Запуск" в меню "Отладка".

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

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

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

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

снимок экрана: исходные и целевые адаптеры. Зеленые флажки поверх каждого адаптера, а между ними находится текст 121317 строк.

Поздравляем, вы успешно использовали SQL Server Integration Services для загрузки данных в Azure Synapse Analytics.