Copier des données de SAP Business Warehouse avec Azure Data Factory ou Synapse Analytics
S’APPLIQUE À : Azure Data Factory Azure Synapse Analytics
Conseil
Essayez Data Factory dans Microsoft Fabric, une solution d’analyse tout-en-un pour les entreprises. Microsoft Fabric couvre tous les aspects, du déplacement des données à la science des données, en passant par l’analyse en temps réel, l’aide à la décision et la création de rapports. Découvrez comment démarrer un nouvel essai gratuitement !
Cet article explique comment utiliser des pipelines Azure Data Factory ou Synapse Analytics pour copier des données de SAP Business Warehouse (BW) via Open Hub vers Azure Data Lake Storage Gen2. Vous pouvez utiliser un processus similaire pour copier des données vers d’autres banques de données de récepteur prises en charge.
Conseil
Pour des informations générales sur la copie des données à partir de SAP BW, y compris sur le flux d’intégration et d’extraction delta de SAP BW Open Hub, consultez l’article Copier des données à partir de SAP Business Warehouse via Open Hub à l’aide d’Azure Data Factory.
Prérequis
Espace de travail Azure Data Factory ou Synapse : si vous n’en avez pas, suivez la procédure de création d’une fabrique de données ou de création d’un espace de travail Synapse.
Destination SAP BW Open Hub (OHD) avec le type de destination « Table de base de données » : pour créer une OHD ou vérifier que votre OHD est correctement configurée pour l’intégration au service, consultez la section Configuration des destinations SAP BW Open Hub de cet article.
L’utilisateur SAP BW a besoin des autorisations suivantes :
- Autorisation relative au protocole RFC (Remote Function Calls) et à SAP BW.
- Autorisations relatives à l’activité « Exécuter » de l’objet d’autorisation S_SDSAUTH.
Un runtime d’intégration auto-hébergé (IR) avec SAP .NET Connector 3.0. Suivez ces étapes de configuration :
Installez et inscrivez le runtime d’intégration auto-hébergé, version 3.13 ou ultérieure. (Cette procédure est décrite plus loin dans cet article.)
Téléchargez la version 64 bits de SAP Connector for Microsoft .NET 3.0 à partir du site web de SAP et installez-la sur l’ordinateur doté du runtime d’intégration auto-hébergé. Pendant l’installation, veillez à sélectionner l’option Install Assemblies to GAC (Installer les assemblys dans le GAC) de la boîte de dialogue Optional setup steps (Étapes de configuration facultatives), comme illustré dans l’image suivante :
Effectuer une copie complète à partir de SAP BW Open Hub
Sur le portail Azure, accédez à votre service. Sélectionnez Ouvrir dans la vignette Ouvrir Azure Data Factory Studio ou Ouvrir Synapse Studio pour ouvrir l’interface utilisateur du service dans un onglet distinct.
Dans la page d’accueil, sélectionnez Ingérer pour ouvrir l’outil Copier des données.
Dans la page Propriétés, choisissez Tâche de copie intégrée sous Type de tâche et choisissez Exécuter une fois maintenant sous Cadence ou planification des tâches, puis sélectionnez Suivant.
Dans la page Magasin de données source, sélectionnez + Nouvelle connexion. Sélectionnez SAP BW Open Hub dans la galerie des connecteurs, puis sélectionnez Continuer. Vous pouvez taper SAP dans la zone de recherche pour filtrer les connecteurs.
Dans la page Nouvelle connexion (SAP BW Open Hub) , procédez comme suit pour créer une connexion.
Dans la liste Se connecter via le runtime d’intégration, sélectionnez un runtime d’intégration auto-hébergé existant. Si vous n’en avez pas encore, choisissez d’en créer un.
Pour créer un runtime d’intégration auto-hébergé, sélectionnez +Nouveau, puis Auto-hébergé. Saisissez un Nom, et sélectionnez Suivant. Sélectionnez Installation rapide pour une installation sur l’ordinateur actuel, ou suivez les étapes d’installation manuelle fournies.
Comme indiqué dans les prérequis, assurez-vous que SAP Connector for Microsoft .NET 3.0 est installé sur l’ordinateur exécutant le runtime d’intégration auto-hébergé.
Renseignez le Nom du serveur, le Numéro du système, l’ID client, la Langue (si différente de EN), le Nom d’utilisateur et le Mot de passe associés à SAP BW.
Sélectionnez Tester la connexion pour vérifier les paramètres, puis sélectionnez Créer.
Dans la page Magasin de données source, sélectionnez la connexion nouvellement créée dans le bloc Connexion.
Dans la section de sélection des destinations Open Hub, parcourez les destinations Open Hub disponibles dans votre instance SAP BW. Vous pouvez prévisualiser les données dans chaque destination en sélectionnant le bouton Aperçu à la fin de chaque ligne. Sélectionnez l’OHD à partir de laquelle copier les données, puis sélectionnez Suivant.
Spécifiez un filtre, si besoin. Si votre OHD contient uniquement des données provenant d’une exécution de processus de transfert de données (DTP) unique avec un seul ID de requête, ou si vous êtes sûr que votre DTP est terminé et que vous souhaitez copier les données, décochez la case Exclude Last Request (Exclure la dernière requête) dans la section Avancé. Vous pouvez prévisualiser les données en sélectionnant le bouton Aperçu des données.
Pour en savoir plus sur ces paramètres, reportez-vous à la section Configuration des destinations SAP BW Open Hub de cet article. Sélectionnez ensuite Suivant.
Dans la page Magasin de données de destination, sélectionnez + Nouvelle connexion>Azure Data Lake Storage Gen2>Continuer.
Dans la page Nouvelle connexion (Azure Data Lake Storage Gen2) , effectuez ces étapes pour créer une connexion.
- Sélectionnez votre compte activé pour Data Lake Storage Gen2 dans la liste déroulante Nom.
- Sélectionnez Créer pour créer la connexion.
Dans la page Magasin de données de destination, sélectionnez la nouvelle connexion dans la section Connexion, puis entrez copyfromopenhub comme nom de dossier de sortie. Sélectionnez ensuite Suivant.
Dans la page Paramètres de format de fichier, sélectionnez Suivant pour utiliser les paramètres par défaut.
Dans la page Paramètres, spécifiez un nom dans Nom de la tâche et développez Avancé. Entrez une valeur de degré de parallélisme de copie comme 5 pour charger les données à partir de SAP BW en parallèle. Sélectionnez ensuite Suivant.
Vérifiez les paramètres dans la page de résumé. Sélectionnez ensuite Suivant.
Dans la page Déploiement, sélectionnez Surveiller pour surveiller le pipeline.
Notez que l’onglet Surveiller sur la gauche de la page est sélectionné automatiquement. Vous pouvez utiliser les liens sous la colonne Nom du pipeline dans la page Exécutions de pipeline pour voir les détails de chaque activité et réexécuter le pipeline.
Pour voir les exécutions d’activités associées à l’exécution du pipeline, sélectionnez les liens sous la colonne Nom du pipeline. Il n’y a qu’une seule activité (activité de copie) dans le pipeline ; vous ne voyez donc qu’une seule entrée. Pour revenir à la vue des exécutions du pipeline, sélectionnez le lien Toutes les exécutions de pipeline affiché en haut de la fenêtre. Sélectionnez Actualiser pour actualiser la liste.
Pour superviser les détails d’exécution de chaque activité de copie, sélectionnez le lien Détails, l’icône de lunettes, fourni dans la même ligne de chaque activité de copie dans la vue de supervision des activités. Les informations disponibles incluent le volume de données copié de la source vers le récepteur, le débit des données, les étapes et la durée de l’exécution, ainsi que les configurations utilisées.
Pour voir l’ID de requête maximum de chaque activité de copie, revenez dans la vue de supervision des activités, puis sélectionnez Sortie dans la même ligne de chaque activité de copie.
Copie incrémentielle à partir de SAP BW Open Hub
Conseil
Consultez l’article Flux d’extraction delta de SAP BW Open Hub Connector pour savoir comment le connecteur SAP BW Open Hub copie les données incrémentielles à partir de SAP BW. Cet article peut également vous aider à comprendre la configuration de base du connecteur.
Continuons la configuration de la copie incrémentielle à partir de SAP BW Open Hub.
La copie incrémentielle utilise un mécanisme de « limite supérieure » basé sur l’ID de demande. Cet ID est généré automatiquement dans la destination SAP BW Open Hub par le processus DTP de transfert de données. Le diagramme qui suit explique ce flux de travail :
Sur la page d’accueil, sélectionnez Modèles de pipeline dans la section Découvrir plus pour utiliser le modèle intégré.
Recherchez SAP BW et sélectionnez le modèle Incremental copy from SAP BW to Azure Data Lake Storage Gen2 (Copie incrémentielle à partir de SAP BW vers Azure Data Lake Storage Gen2). Ce modèle permet de copier les données dans Azure Data Lake Storage Gen2. Vous pouvez utiliser un flux de travail similaire pour copier les données vers d’autres types de récepteurs.
Dans la page principale du modèle, sélectionnez ou créez les trois connexions suivantes, puis choisissez Utiliser ce modèle dans le coin inférieur droit de la fenêtre.
- Stockage Blob Azure : Dans cette procédure pas-à-pas, nous utilisons le stockage Blob Azure pour stocker la limite supérieure, c’est-à-dire l’ID de demande de données maximales copiées.
- SAP BW Open Hub : Il s’agit de la source à partir de laquelle copier les données. Reportez-vous à la procédure pas-à-pas précédente concernant la copie complète pour connaître la configuration détaillée.
- Azure Data Lake Storage Gen2 : Il s’agit du récepteur vers lequel copier les données. Reportez-vous à la procédure pas-à-pas précédente concernant la copie complète pour connaître la configuration détaillée.
Ce modèle génère un pipeline contenant les trois activités suivantes, chaînées en cas de réussite : Recherche, Copier des données et Web.
Accédez à l’onglet Paramètres du pipeline. Il contient tous les paramètres de configuration que vous devez fournir.
SAPOpenHubDestinationName : Spécifiez le nom de la table Open Hub à partir de laquelle copier les données.
Data_Destination_Container : spécifiez la destination du conteneur Azure Data Lake Storage Gen2 vers lequel copier les données. Si le conteneur n’existe pas, l’activité de copie en crée un lors de l’exécution.
Data_Destination_Directory : spécifiez le chemin d’accès du dossier sous le conteneur Azure Data Lake Storage Gen2 vers lequel copier les données. Si le chemin d’accès n’existe pas, l’activité de copie en crée un lors de l’exécution.
HighWatermarkBlobContainer : spécifiez le conteneur dans lequel stocker la valeur de limite supérieure.
HighWatermarkBlobDirectory : spécifiez le chemin d’accès du dossier sous le conteneur dans lequel stocker la valeur de limite supérieure.
HighWatermarkBlobName : Spécifiez le nom de l’objet blob de stockage de la valeur de limite supérieure, par exemple
requestIdCache.txt
. Dans le stockage Blob, accédez au chemin d’accès HighWatermarkBlobContainer+HighWatermarkBlobDirectory+HighWatermarkBlobName, tel que container/path/requestIdCache.txt. Créez un fichier avec un contenu 0.LogicAppURL : Dans ce modèle, nous utilisons WebActivity pour appeler Azure Logic Apps et définir la valeur de limite supérieure dans le stockage Blob. Sinon, vous pouvez utiliser Azure SQL Database pour la stocker. Utilisez une activité de procédure stockée pour mettre à jour la valeur.
Vous devez d’abord créer une application logique, comme le montre l’image suivante. Ensuite, collez l’URL HTTP POST.
Accédez au portail Azure. Sélectionnez un nouveau service Logic Apps. Sélectionnez +Application logique vide pour accéder au Concepteur Logic Apps.
Créez un déclencheur Lors de la réception d’une demande HTTP. Spécifiez le corps de la demande HTTP comme suit :
{ "properties": { "sapOpenHubMaxRequestId": { "type": "string" } }, "type": "object" }
Ajoutez une action Créer un objet blob. Pour Chemin d’accès du dossier et Nom d’objet Blob, utilisez les mêmes valeurs que celles configurées précédemment au niveau des paramètres HighWatermarkBlobContainer+HighWatermarkBlobDirectory et HighWatermarkBlobName.
Sélectionnez Enregistrer. Ensuite, copiez la valeur de l’URL HTTP POST à utiliser dans le pipeline.
Après avoir fourni les paramètres du pipeline, sélectionnez Déboguer>Terminer pour exécuter la validation de la configuration. Sinon, sélectionnez Publier pour publier toutes les modifications, puis choisissez Ajouter un déclencheur pour effectuer l’exécution.
Configuration des destinations SAP BW Open Hub
Cette section présente la configuration côté SAP BW pour l’utilisation du connecteur SAP BW Open Hub pour copier des données.
Configurer l’extraction delta dans SAP BW
Si vous avez besoin d’exécuter à la fois une copie historique et incrémentielle, ou simplement une copie incrémentielle, configurez l’extraction delta dans SAP BW.
Créez la destination Open Hub. Vous pouvez créer la destination Open Hub dans SAP Transaction RSA1, qui crée automatiquement le processus de transformation et de transfert de données nécessaire. Utilisez les paramètres suivants :
- ObjectType : Vous pouvez utiliser n’importe quel type d’objet. Ici, nous utilisons InfoCube comme exemple.
- Type de destination : Sélectionnez Database Table (Table de base de données).
- Key of the Table (Clé de la table) : Sélectionnez Technical Key (Clé technique).
- Extraction : Sélectionnez Keep Data and Insert Records into Table (Conserver les données et insérer les enregistrements dans la table).
Vous pouvez augmenter le nombre de processus de travail SAP exécutés en parallèle pour le transfert de données :
Planifiez le transfert de données dans des chaînes de processus.
Un transfert de données delta pour un cube fonctionne uniquement si les lignes nécessaires n’ont pas été compressées. Assurez-vous que la compression du cube BW n’est pas en cours d’exécution avant le transfert de données vers la table Open Hub. Pour ce faire, le plus simple consiste à intégrer le processus DTP dans vos chaînes de processus existantes. Dans l’exemple suivant, le processus DTP (vers l’OHD) est inséré dans la chaîne de processus entre les étapes Ajuster (cumul d’agrégats) et Réduire (compression du cube).
Configurer l’extraction complète dans SAP BW
En plus de l’extraction delta, vous voudrez peut-être effectuer une extraction complète du même fournisseur SAP BW. Cela s’applique généralement si vous souhaitez effectuer une copie complète et non incrémentielle, ou si vous souhaitez resynchroniser l’extraction delta.
Vous ne pouvez pas définir plusieurs processus de transfert de données pour la même destination Open Hub. Par conséquent, vous devez créer une OHD supplémentaire avant l’extraction delta.
Pour une destination OHD destinée à une copie complète, choisissez des options différentes de celles de l’extraction delta :
Au niveau de l’OHD : Définissez l’option Extraction sur Delete Data and Insert Records (Supprimer les données et insérer les enregistrements). Sinon, les données seront extraites autant de fois que vous répéterez le transfert des données dans une chaîne de processus BW.
Au niveau du processus de transfert des données : Définissez Extraction Mode (Extraction Mode) sur Full (Complet). Vous devez modifier le paramètre du processus DTP créé automatiquement de Delta à Full (Complet) immédiatement après la création de la destination OHD, comme indiqué dans cette image :
Dans le connecteur BW Open Hub : désactivez Exclure la dernière requête. Dans le cas contraire, aucune donnée ne sera extraite.
Vous exécutez généralement le processus de transfert des données complet manuellement. Sinon, vous pouvez créer une chaîne de processus pour le transfert de données complet. Il s’agit généralement d’une chaîne distincte indépendante de vos chaînes de processus existantes. Dans les deux cas, assurez-vous que le processus DTP est terminé avant de commencer l’extraction avec la copie. Sinon, seules des données partielles seront copiées.
Première exécution de l’extraction delta
La première extraction delta est techniquement une extraction complète. Par défaut, le connecteur SAP BW Open Hub exclut la dernière demande lors de la copie des données. Lors de la première extraction delta, aucune donnée n’est extraite par l’activité de copie avant qu’un processus DTP ne génère des données delta dans la table avec un ID de demande distinct. Deux méthodes permettent d’éviter ce scénario :
- Désactivez l’option Exclude last request (Exclure la dernière demande) lors de la première extraction delta. Assurez-vous que le premier processus de transfert de données delta est terminé avant de commencer la première extraction delta.
- Utilisez la procédure de resynchronisation de l’extraction delta, comme indiqué dans la section suivante.
Resynchroniser l’extraction delta
Les scénarios suivants modifient les données dans les cubes SAP BW, mais ils ne sont pas pris en compte par le processus de transfert de données delta :
- Suppression sélective SAP BW (des lignes avec n’importe quelle condition de filtre)
- Suppression des demandes SAP BW (des demandes défectueuses)
Une destination SAP Open Hub n’est pas une cible de données contrôlée par un mini-data warehouse (dans tous les packages de prise en charge SAP BW depuis 2015). Par conséquent, vous pouvez supprimer les données d’un cube sans modifier les données dans la destination OHD. Vous devez ensuite resynchroniser les données du cube avec le service :
- Exécutez une extraction complète dans le service (en utilisant un processus DTP complet dans SAP).
- Supprimez toutes les lignes de la table Open Hub pour le processus DTP delta.
- Définissez l’état du processus DTP delta sur Fetched (Extraites).
Après cela, tous les processus DTP delta et extractions delta fonctionneront comme prévu.
Pour définir l’état du processus DTP delta sur Fetched (Extraites), vous pouvez utiliser l’option suivante pour exécuter le transfert de données delta manuellement :
Aucun transfert de données ; État Delta dans Source : Récupéré
Contenu connexe
En savoir plus sur la prise en charge du connecteur SAP BW Open Hub :