Le Feature Pack SQL Server Integration Services (SSIS) pour Azure

S’applique à : SQL Server SSIS Integration Runtime dans Azure Data Factory

Le Feature Pack SQL Server Integration Services (SSIS) pour Azure est une extension qui fournit les composants répertoriés dans cette page afin de permettre à SSIS de se connecter aux services Azure, de transférer des données entre des sources de données Azure et locales, et de traiter des données stockées dans Azure.

Télécharger le Feature Pack SSIS pour Azure

Les pages de téléchargement incluent également des informations sur les prérequis. Veillez à installer SQL Server avant d’installer Azure Feature Pack sur un serveur. Sinon, il est possible que les composants du Feature Pack ne soient pas disponibles quand vous déployez des packages sur la base de données de catalogues SSIS, SSISDB, sur le serveur.

Composants du Feature Pack

Utiliser TLS 1.2

La version TLS utilisée par le Feature Pack Azure suit les paramètres du .NET Framework système. Pour utiliser TLS 1.2, ajoutez une valeur REG_DWORD nommée SchUseStrongCrypto avec des données 1 sous les deux clés de Registre suivantes.

  1. HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319
  2. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319

Dépendance envers Java

Java est requis pour utiliser des formats de fichier ORC/Parquet avec des connecteurs de fichiers flexibles/Azure Data Lake Store.
L’architecture (32/64 bits) de la build Java doit correspondre à celle du runtime SSIS à utiliser. Les builds Java suivantes ont été testées.

Configurer Zulu OpenJDK

  1. Téléchargez et extrayez le package compressé d’installation.
  2. À partir de l’invite de commandes, exécutez sysdm.cpl.
  3. Sous l’onglet Avancé, sélectionnez Variables d’environnement.
  4. Sous la section Variables système, sélectionnez Nouveau.
  5. Entrez JAVA_HOME pour le Nom de la variable.
  6. Sélectionnez Parcourir les répertoires, accédez au dossier extrait et sélectionnez le sous-dossier jre. Sélectionnez ensuite OK et la valeur de la variable est automatiquement renseignée.
  7. Sélectionnez OK pour fermer la boîte de dialogue Nouvelle Variable système.
  8. Sélectionnez OK pour fermer la boîte de dialogue Variables d’environnement.
  9. Sélectionnez OK pour fermer la boîte de dialogue Propriétés du système.

Conseil

Si, en utilisant le format Parquet, vous obtenez une erreur indiquant « An error occurred when invoking java, message: java.lang.OutOfMemoryError:Java heap space », vous pouvez ajouter une variable d'environnement _JAVA_OPTIONS afin d’ajuster la taille de segment de mémoire minimale/maximale nécessaire pour la machine virtuelle Java.

jvm heap

Exemple : donnez la valeur -Xms256m -Xmx16g à la variable _JAVA_OPTIONS. L’indicateur Xms spécifie le pool d’allocation de mémoire initial pour une Machine virtuelle Java (JVM), tandis que Xmx spécifie le pool d’allocation de mémoire maximal. En d’autres termes, JVM démarrera avec la quantité de mémoire Xms et pourra au maximum utiliser la quantité de mémoire Xmx. Les valeurs par défaut sont min 64 Mo et Max 1G.

Configurer OpenJDK de Zulu sur Azure-SSIS Integration Runtime

Cette opération doit être effectuée via une interface d’installation personnalisée pour Azure-SSIS Integration Runtime. Supposons que zulu8.33.0.1-jdk8.0.192-win_x64.zip est utilisé. Le conteneur d’objets BLOB peut être organisé comme suit.

main.cmd
install_openjdk.ps1
zulu8.33.0.1-jdk8.0.192-win_x64.zip

En tant que point d'entrée, main.cmd déclenche l’exécution du script PowerShell install_openjdk.ps1 qui, à son tour, extrait zulu8.33.0.1-jdk8.0.192-win_x64.zip et définit JAVA_HOME en conséquence.

main. cmd

powershell.exe -file install_openjdk.ps1

Conseil

Si, en utilisant le format Parquet, vous obtenez une erreur indiquant « An error occurred when invoking java, message: java.lang.OutOfMemoryError:Java heap space », vous pouvez ajouter une commande main.cmd afin d’ajuster la taille de segment de mémoire minimale/maximale nécessaire pour la machine virtuelle Java. Exemple :

setx /M _JAVA_OPTIONS "-Xms256m -Xmx16g"

L’indicateur Xms spécifie le pool d’allocation de mémoire initial pour une Machine virtuelle Java (JVM), tandis que Xmx spécifie le pool d’allocation de mémoire maximal. En d’autres termes, JVM démarrera avec la quantité de mémoire Xms et pourra au maximum utiliser la quantité de mémoire Xmx. Les valeurs par défaut sont min 64 Mo et Max 1G.

install_openjdk. ps1

Expand-Archive zulu8.33.0.1-jdk8.0.192-win_x64.zip -DestinationPath C:\
[Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\zulu8.33.0.1-jdk8.0.192-win_x64\jre", "Machine")

Configurer Oracle Java SE Runtime Environment

  1. Téléchargez et exécutez le programme d’installation.
  2. Suivez les instructions du programme d’installation pour terminer l’installation.

Scénario : traitement du Big Data

Utilisez le connecteur Azure pour accomplir le travail suivant de traitement de données volumineuses :

  1. Utilisez la tâche de téléchargement d'objet blob Azure pour charger des données d'entrée dans le stockage d'objets blob Azure.

  2. Utilisez la tâche de création de cluster Azure HDInsight pour créer un cluster Azure HDInsight. Cette étape est facultative si vous souhaitez utiliser votre propre cluster.

  3. Utilisez la tâche Hive ou Pig Azure HDInsight pour invoquer un travail Pig ou Hive sur le cluster Azure HDInsight.

  4. Utilisez la tâche de suppression de cluster Azure HDInsight pour supprimer le cluster HDInsight après utilisation, si vous avez créé un cluster HDInsight à la demande à l'étape 2.

  5. Utilisez la tâche de téléchargement d'objet blob Azure HDInsight pour télécharger les données de sortie des travaux Pig/Hive à partir du stockage d'objets blob Azure.

Capture d’écran montrant le scénario de Big Data du connecteur SSIS Azure

Scénario : gestion des données dans le cloud

Utilisez la destination d’objets blob Azure dans un package SSIS pour écrire des données de sortie dans un Azure Blob Storage, ou la source d’objets blob Azure pour lire des données à partir d’un stockage Azure Blob Storage.

Capture d’écran montrant le flux de données depuis la source OLE DB vers la destination d’objets blob Azure

Capture d’écran montrant le flux de données depuis la source d’objets blob Azure vers la destination OLE DB

Utilisez le conteneur de boucles Foreach avec l’énumérateur d’objet blob Azure pour traiter des données dans plusieurs fichiers blob.

Capture d’écran montrant le conteneur de boucles Foreach dans le flux de contrôle.

Notes de publication

Version 1.21.0

Améliorations

  1. Mise à niveau de log4j de la version 1.2.17 vers la version 2.17.1.

Version 1.20.0

Améliorations

  1. Mise à jour de la version cible de .NET Framework de 4.6 vers 4.7.2.
  2. La « tâche de chargement Azure SQL DW » s’appelle désormais « tâche Azure Synapse Analytics ».

Résolution de bogues

  1. Si vous accédez au Stockage Blob Azure et si les paramètres régionaux de l’ordinateur exécutant SSIS sont autres que « en-US », l’exécution du package échoue avec le message d’erreur « La chaîne n’a pas été reconnue en tant que DateTime valide. ».
  2. Pour le Gestionnaire des connexions du Stockage Azure, un secret est obligatoire (et non utilisé), même lorsqu’une identité managée Data Factory est utilisée pour l’authentification.

Version 1.19.0

Améliorations

  1. Ajout de la prise en charge de l’authentification avec une signature d’accès partagé au gestionnaire de connexions Stockage Azure.

Version 1.18.0

Améliorations

  1. Pour la tâche Fichier flexible, trois améliorations ont été apportées : (1) prise en charge des caractères génériques pour les opérations de copie/suppression ; (2) l’utilisateur peut activer/désactiver la recherche récursive pour l’opération de suppression ; et (3) le nom du fichier de destination pour l’opération de copie peut être vide pour conserver le nom du fichier source.

Version 1.17.0

Il s’agit d’une version de correctif disponible pour SQL Server 2019 uniquement.

Résolution de bogues

  1. Quand vous exécutez dans Visual Studio 2019 et que vous ciblez SQL Server 2019, Flexible File Task/Source/Destination peut échouer avec le message d’erreur Attempted to access an element as a type incompatible with the array.
  2. Quand vous exécutez dans Visual Studio 2019 et que vous ciblez SQL Server 2019, Flexible File Source/Destination avec un format ORC/Parquet peut échouer avec le message d’erreur Microsoft.DataTransfer.Common.Shared.HybridDeliveryException: An unknown error occurred. JNI.JavaExceptionCheckException.

Version 1.16.0

Résolution de bogues

  1. Dans certains cas, l’exécution du package affiche le message « Erreur : impossible de charger le fichier ou l’assembly "Newtonsoft.Json, Version=11.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed" ou l’une de ses dépendances ».

Version 1.15.0

Améliorations

  1. Ajouter une opération de suppression de dossier/fichier à une tâche de fichier flexible
  2. Ajouter une fonction de conversion de type de données externe/sortie dans une source de fichier flexible

Résolution de bogues

  1. Dans certains cas, le test de la connexion ne fonctionne pas correctement pour Data Lake Storage Gen2 avec le message d’erreur « Tentative d’accès à un élément en tant que type incompatible avec le tableau »
  2. Reprise de la prise en charge de l’émulateur de stockage Azure