Extraire, transformer et charger des données sur Linux avec SSIS
S’applique à : SQL Server - Linux
Cet article explique comment exécuter des packages SQL Server Integration Services (SSIS) sur Linux. SSIS résout des problèmes complexes d'intégration de données en extrayant des données de plusieurs sources et formats, en transformant et en nettoyant les données, puis en les chargeant vers différentes destinations.
Les packages SSIS fonctionnant sur Linux peuvent se connecter à Microsoft SQL Server sur Windows en local ou dans le cloud, sur Linux ou dans Docker. Ils peuvent également se connecter à Azure SQL Database, à Azure Synapse Analytics, à des sources de données ODBC, à des fichiers plats et à d'autres sources de données, notamment des sources ADO.NET, des fichiers XML et des services OData.
Pour plus d’informations sur les capacités de SSIS, consultez SQL Server Integration Services.
Prérequis
Pour exécuter des packages SSIS sur un ordinateur Linux, vous devez d'abord installer SQL Server Integration Services. SSIS n'est pas inclus dans l'installation de SQL Server pour les ordinateurs Linux. Pour les instructions d'installation, consultez Installer SQL Server Integration Services (SSIS) sur Linux.
Vous devez également disposer d'un ordinateur Windows pour créer et gérer les packages. Les outils de conception et de gestion SSIS sont des applications Windows actuellement non disponibles pour les ordinateurs Linux.
Exécuter un package SSIS
Pour exécuter un paquet SSIS sur un ordinateur Linux, procédez comme suit :
Copiez le package SSIS sur l'ordinateur Linux.
Exécutez la commande suivante :
dtexec /F \<package name \> /DE <protection password>
Exécutez un package chiffré (protégé par un mot de passe)
Il existe trois façons d'exécuter un package SSIS chiffré avec un mot de passe :
Définir la valeur de la variable d'environnement
SSIS_PACKAGE_DECRYPT
, comme indiqué dans l'exemple suivant :SSIS_PACKAGE_DECRYPT=test /opt/ssis/bin/dtexec /f package.dtsx
Spécifier l'option
/de[crypt]
pour entrer le mot de passe de manière interactive, comme indiqué dans l'exemple suivant :/opt/ssis/bin/dtexec /f package.dtsx /de Enter decryption password:
Spécifier l'option
/de
pour fournir le mot de passe dans la ligne de commande, comme indiqué dans l'exemple suivant. Cette méthode n'est pas recommandée car elle stocke le mot de passe de déchiffrement avec la commande dans l'historique des commandes.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.
Concevoir des packages
Se connecter à des sources de données ODBC. Avec SSIS sur Linux CTP 2.1 Refresh et versions ultérieures, les packages SSIS peuvent utiliser les connexions ODBC sur Linux. Cette fonctionnalité a été testée avec les pilotes SQL Server et MySQL ODBC, mais elle devrait également fonctionner avec tout pilote ODBC Unicode conforme au standard ODBC. Au moment de la conception, vous pouvez fournir un DSN ou une chaîne de connexion pour vous connecter aux données ODBC ; vous pouvez également utiliser l'authentification Windows. Pour plus d'informations, consultez le billet de blog annonçant le support d’ODBC sur Linux.
Chemins d'accès. Fournissez des chemins de style Windows dans vos packages SSIS. SSIS sur Linux ne prend pas en charge les chemins de style Linux, mais mappe les chemins de style Windows aux chemins de style Linux lors de l'exécution. Ensuite, par exemple, SSIS sur Linux mappe le chemin de style Windows C:\test
au chemin de style Linux /test
.
Déployer des packages
Vous ne pouvez stocker des packages dans le système de fichiers sur Linux que dans cette version. La base de données du catalogue SSIS et le service SSIS hérité ne sont pas disponibles sur Linux pour le déploiement et le stockage des packages.
Planifier les packages
Vous pouvez utiliser les outils de planification du système Linux tels que cron
pour planifier les packages. Vous ne pouvez pas utiliser SQL Agent sur Linux pour planifier l'exécution des packages dans cette version. Pour plus d'informations, consultez Planifier l'exécution des packages SQL Server Integration Services sur Linux avec cron.
Limitations et problèmes connus
Pour des informations détaillées sur les limitations et les problèmes connus de SSIS sur Linux, voir Limitations et problèmes connus pour SSIS sur Linux.
En savoir plus sur SSIS sur Linux
Pour plus d’informations concernant SSIS sur Linux, consultez les billets de blog suivants :
- SSIS sur Linux est disponible dans SQL Server 2017 CTP 2.1
- ODBC est pris en charge dans SSIS sur Linux (actualisation SQL Server 2017 CTP 2.1)
En savoir plus sur SSIS
Microsoft SQL Server Integration Services (SSIS) est une plateforme conçue pour créer des solutions d’intégration de données à hautes performances, notamment des packages d’extraction, de transformation et de chargement (ETL) pour l’entreposage de données. Pour plus d’informations, consultez SQL Server Integration Services.
SSIS inclut les fonctionnalités suivantes :
- Des outils graphiques et des assistants pour construire et déboguer des packages sur Windows
- Une variété de tâches pour exécuter des fonctions de workflow telles que les opérations FTP, l'exécution d'instructions SQL et l'envoi d’e-mails
- Diverses sources de données et de destinations pour l'extraction et le chargement des données
- Une variété de transformations pour le nettoyage, l'agrégation, la fusion et la copie des données
- Des interfaces de programmation d'applications (API) pour étendre le SSIS avec vos propres scripts et composants personnalisés
Pour bien démarrer avec SSIS, téléchargez la dernière version de SSIS Comment créer un Package ETL.
Pour en savoir plus sur SSIS, consultez les articles suivants :
- SQL Server Integration Services
- Outils de gestion et de développement Integration Services (SSIS)
- Didacticiels sur Integration Services