Извлечение, преобразование и загрузка данных в 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, выполните следующие действия.
Скопируйте пакет SSIS на компьютер Linux.
Выполните следующую команду:
dtexec /F \<package name \> /DE <protection password>
Запуск зашифрованного (защищенного паролем) пакета
Запустить пакет SSIS, зашифрованный с помощью пароля, можно тремя способами.
Задайте значение переменной среды
SSIS_PACKAGE_DECRYPT
, как показано в следующем примере:SSIS_PACKAGE_DECRYPT=test /opt/ssis/bin/dtexec /f package.dtsx
Укажите параметр
/de[crypt]
для интерактивного ввода пароля, как показано в следующем примере:/opt/ssis/bin/dtexec /f package.dtsx /de Enter decryption password:
Укажите параметр
/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 в Linux доступна в SQL Server 2017 CTP 2.1
- ODBC поддерживается в SSIS в Linux (обновление CTP 2.1 SQL Server 2017)
Дополнительные сведения о службах SSIS
Службы Microsoft SQL Server Integration Services (SSIS) представляют собой платформу для создания высокопроизводительных решений интеграции данных, включая пакеты ETL для хранения данных. Дополнительные сведения о службах SSIS см. в разделе Службы SQL Server Integration Services.
Службы SSIS включают в себя следующие компоненты.
- Графические инструменты и мастеры для создания и отладки пакетов в Windows
- Различные задачи для выполнения таких функций рабочих процессов, как FTP-операции, выполнение инструкций SQL и отправка сообщений электронной почты
- Разнообразные источники данных и назначения для извлечения и загрузки данных
- Различные преобразования для очистки, статистической обработки, слияния и копирования данных
- API-интерфейсы для расширения служб SSIS за счет пользовательских сценариев и компонентов
Чтобы приступить к работе с SSIS, скачайте последнюю версию SSIS, как создать пакет ETL.
Дополнительные сведения о службах SSIS см. в следующих статьях:
- SQL Server Integration Services
- Средства разработки и управления службами Integration Services (SSIS)
- Учебники по службам Integration Services