Извлечение, преобразование и загрузка данных в Linux с помощью служб SSIS

Область применения: SQL Server — Linux

В этой статье приводятся инструкции по запуску пакетов служб SQL Server Integration Services (SSIS) в Linux. Службы SSIS позволяют решать сложные проблемы интеграции данных путем извлечения данных из нескольких источников и форматов, преобразования и очистки данных, а также загрузки данных в несколько назначений.

Пакеты SSIS, запущенные в Linux, могут подключаться к Microsoft SQL Server, работающему в локальной среде Windows или в облаке, в Linux или в Docker. Они также могут подключаться к Базе данных SQL Azure, Azure Synapse Analytics, источникам данных ODBC, неструктурированным файлам и другим источникам данных, включая источники ADO.NET, XML-файлы и службы OData.

Дополнительные сведения о возможностях служб SSIS см. в статье Службы SQL Server Integration Services.

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

Для запуска пакетов SSIS на компьютере Linux сначала необходимо установить службы SQL Server Integration Services. Службы SSIS не включены в установку SQL Server для компьютеров Linux. Инструкции по установке см. в разделе "Установка служб SQL Server Integration Services (SSIS) в Linux.

Вам также потребуется компьютер Windows для создания и обслуживания пакетов. Средства проектирования и управления служб SSIS — это приложения Windows, которые в настоящее время недоступны для компьютеров Linux.

Запуск пакета SSIS

Чтобы запустить пакет SSIS на компьютере Linux, выполните следующие действия.

  1. Скопируйте пакет SSIS на компьютер Linux.

  2. Выполните следующую команду:

    dtexec /F \<package name \> /DE <protection password>
    

Запуск зашифрованного (защищенного паролем) пакета

Запустить пакет SSIS, зашифрованный с помощью пароля, можно тремя способами.

  1. Задайте значение переменной среды SSIS_PACKAGE_DECRYPT, как показано в следующем примере:

    SSIS_PACKAGE_DECRYPT=test /opt/ssis/bin/dtexec /f package.dtsx
    
  2. Укажите параметр /de[crypt] для интерактивного ввода пароля, как показано в следующем примере:

    /opt/ssis/bin/dtexec /f package.dtsx /de
    
    Enter decryption password:
    
  3. Укажите параметр /de для ввода пароля в командной строке, показано в следующем примере. Этот метод не рекомендуется, так как он сохраняет пароль расшифровки с помощью команды в журнале команд.

    opt/ssis/bin/dtexec /f package.dtsx /de test
    
    Warning: Using /De[crypt] <password> may store decryption password in command history.
    
    You can use /De[crypt] instead to enter interactive mode,
    or use environment variable SSIS_PACKAGE_DECRYPT to set decryption password.
    

Проектирование пакетов

Подключение к источникам данных ODBC. С помощью служб SSIS в Linux CTP 2.1 и более поздних версиях пакеты SSIS могут использовать подключения ODBC в Linux. Эта функция была протестирована с использованием SQL Server и драйверов ODBC для MySQL, но она также должна работать с любым драйвером ODBC для Юникода, который поддерживает спецификацию ODBC. Во время разработки можно указать либо имя DSN, либо строку подключения для подключения к данным ODBC. Кроме того, можно использовать проверку подлинности Windows. Дополнительные сведения см. в записи блога с объявлением поддержки ODBC в Linux.

Пути. В пакетах SSIS пути следует указывать в формате Windows. Служба SSIS в Linux не поддерживает пути в стиле Linux, но сопоставляет пути в стиле Windows с путями в стиле Linux во время выполнения. К примеру, службы SSIS в Linux сопоставляют путь в формате Windows C:\test с путем в формате Linux /test.

Развертывание пакетов

В этом выпуске пакеты можно хранить только в файловой системе Linux. База данных каталога служб SSIS и устаревшая служба служб SSIS недоступны в Linux для развертывания и хранения пакетов.

Планирование выполнения пакетов

Планировать выполнение пакетов можно с помощью системных средств планирования Linux, таких как cron. В этом выпуске использовать агент SQL в Linux для этой задачи нельзя. Дополнительные сведения см. в статье "Планирование выполнения пакетов служб SQL Server Integration Services в Linux с помощью cron".

Известные проблемы и ограничения

Подробные сведения об ограничениях и известных проблемах служб SSIS в Linux см в статье Ограничения и известные проблемы для служб SSIS в Linux.

Дополнительные сведения о службах SSIS в Linux

Дополнительные сведения о службах SSIS в Linux см. в следующих записях блога.

Дополнительные сведения о службах SSIS

Службы Microsoft SQL Server Integration Services (SSIS) представляют собой платформу для создания высокопроизводительных решений интеграции данных, включая пакеты ETL для хранения данных. Дополнительные сведения о службах SSIS см. в разделе Службы SQL Server Integration Services.

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

  • Графические инструменты и мастеры для создания и отладки пакетов в Windows
  • Различные задачи для выполнения таких функций рабочих процессов, как FTP-операции, выполнение инструкций SQL и отправка сообщений электронной почты
  • Разнообразные источники данных и назначения для извлечения и загрузки данных
  • Различные преобразования для очистки, статистической обработки, слияния и копирования данных
  • API-интерфейсы для расширения служб SSIS за счет пользовательских сценариев и компонентов

Чтобы приступить к работе с SSIS, скачайте последнюю версию SSIS, как создать пакет ETL.

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