Comment utiliser la transformation XML_Pipeline

Dans ce tutoriel, découvrez comment concevoir un job de type batch permettant d’extraire des données à partir d’un fichier XML hiérarchique, les transformer puis les charger dans une table SQL Anywhere 16.

  • Prérequis : Accès à une base de données de type SQL Anywhere 16 ou autre,
  • Un fichier XML contenant les données brutes
  • Version: SAP Data Services 4.2 SP7
  • Application: Data Services Designer

Lorsque vous extrayez des données d’un fichier XML à charger dans un entrepôt de données cible (data warehouse cible), vous obtenez uniquement des parties du fichier XML.

Le but principal de la transformation XML_Pipeline est d’extraire des parties de votre fichier XML. Étant donné que la transformation XML_Pipeline se concentre sur cette extraction partielle, elle utilise la mémoire plus efficacement et se comporte mieux que la transformation Query à cette fin.

Configuration d’un job et d’un flux de données utilisant XML_Pipeline

  1. Créez un nouveau Job et nommez le JOB_Mtrl_Pipe.
  2. Créez un nouveau Work Flow et nommez le WF_Mtrl_Pipe.
  3. Ajoutez un Data Flow et nommez le DF_Mtrl_Pipe.
  4. Cliquez sur le nom du Data Flow pour ouvrir la définition du flux de données
  5. Importer la DTD (Document Type Definition) comme suit:
  • Dans la bibliothèque locale des objets, allez dans l’onglet « Formats »
  • Faites un clic droit sur « Schémas imbriqués » puis Nouveau DTD

  • Une pop-pop s’affiche demandant de renseigner le « Nom de la définition DTD »

  • Pour le « Nom du fichier », cliquez sur « Parcourir… »  et sélectionnez le fichier « mtrl.dtd » se trouvant à l’emplacement suivant « REP_INSTALL_DATASERVICE\ Data Services\Tutorial Files »
  • Pour le type de fichier, garder la valeur sélectionnée par défaut « DTD »
  • Dans la liste « Nom de l’élément racine », sélectionnez « MTRL_MASTER_LIST »
  • Cliquez sur « OK ».

Ajouter les objets dans le flux de données

6.Faites glisser le fichier Mtrl_List dans l’espace de travail de définition DF_Mtrl_Pipe, déposez-le sur le côté gauche et cliquez sur Créer une source de fichier XML

7. Cliquez sur le nom Mtrl_List dans l’espace de travail pour le configurer.

8. Sous l’onglet Source, dans la liste Fichier XML, cliquez sur <Sélectionner fichier>. Accédez au fichier mtrl.xml dans \ Data Services \ Tutorial Files \ mtrl.xml. Cliquez sur Ouvrir pour importer le fichier mtrl.xml

9. Sélectionnez Activer la validation pour permettre la comparaison des données entrantes au format DTD enregistré

10. Dans la bibliothèque d’objets de l’onglet Transformation, développez les transformations de Data Integrator. Faites glisser la transformation XML_Pipeline dans l’espace de travail de définition DF_Mtrl_Pipe, déposez-la à droite de la source Mtrl_List.

11.Faites glisser la transformation Query dans l’espace de travail, déposez-la à droite de XML_Pipeline et nommez la requête Query_Pipeline.

12. Dans la liste des tables de la bibliothèque d’objets du banque de données Target_DS, faites glisser la table MTRL_DIM vers l’espace de travail, déposez-la à droite de Query_Pipeline et cliquez sur Créer une cible.

13. Connectez les icônes pour indiquer le flux de données à partir du fichier XML source via les transformations XML_Pipeline et Query_Pipeline vers la table cible.

Définition des détails de XML_Pipeline et Query_Pipeline

  1. Cliquez sur XML_Pipeline pour ouvrir l’éditeur de transformation.
  2. Faites glisser les colonnes MTRL_ID, MTRL_TYPE, IND_SECTOR, MRTL_GROUP et SHORT_TEXT vers le schéma de sortie.
  3. Retournez au Data Flow et cliquez sur Query_Pipeline pour ouvrir l’éditeur de requêtes.
  4. Faites glisser chaque colonne de schéma vers les colonnes correspondantes dans le schéma de sortie.
  5. Dans la zone du projet, cliquez sur « Valider tous les objets dans vue »
  6. Depuis le menu « Projet » cliquez « Enregistrer tout »
  7. Dans la zone du projet, cliquez avec le bouton droit sur JOB_Mtrl_Pipe et cliquez sur « Exécuter »

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*