Загрузка данных в выделенный пул 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. Тип данных decimal в выделенном пуле SQL не поддерживается. Сведения о поддерживаемых типах данных см. в разделе CREATE TABLE (Azure Synapse Analytics или Parallel Data Warehouse).

      Снимок экрана: диалоговое окно

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

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

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

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

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

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

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

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

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

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

Снимок экрана: адаптеры источника и назначения. На каждом адаптере стоят зеленые галочки, а между ними находится текст 121317 rows (121317 строк).

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

Дальнейшие действия