Transformations Informatica: le cœur et l'âme d'Informatica PowerCenter



Obtenez une compréhension complète de ce que sont les transformations Informatica et obtenez un aperçu des différentes transformations majeures d'Informatica avec des cas d'utilisation.

Les transformations Informatica sont des objets de référentiel qui peuvent lire, modifier ou transmettre des données aux structures cibles définies telles que des tables, des fichiers ou toute autre cible requise. Une transformation est essentiellement utilisée pour représenter un ensemble de règles, qui définissent le flux de données et la façon dont les données sont chargées dans les cibles. Informatica PowerCenter fournit plusieurs transformations, chacune servant une fonctionnalité particulière.De plus, avec Informatica leader sur le marché actuel de la plate-forme d'intégration de données, Informatica Transformations est un concept crucial requis pour .

Pour mieux comprendre les transformations Informatica, commençons par comprendre ce qu'est le mappage? Un mappage est une collection d'objets source et cible liés entre eux par un ensemble de transformations. Par conséquent, les transformations dans un mappage représentent les opérations que le service d'intégration effectuera sur les données lors de l'exécution du workflow. Pour mieux comprendre le flux de travail, vous pouvez consulter notre blog Tutoriel Informatica: gestion du flux de travail





Quelles sont les différentes transformations Informatica?

Les transformations Informatica peuvent être principalement classées en deux catégories. Tout d'abord basé sur la connectivité (Linking in mapping) des transformations entre elles et le second est basé sur le changement du nombre global de lignes entre la source et la cible. Commençons par examiner les transformations d'Informatica basées sur la connectivité.

1) Types de transformations dans Informatica basées sur la connectivité:



  • Transformations connectées.
  • Transformations non connectées.

Dans Informatica, les transformations qui sont connectées à une ou plusieurs transformations sont appelées Transformations connectées .

Les transformations connectées sont utilisées lorsque pour chaque ligne d'entrée, une transformation est appelée et est censée renvoyer une valeur. Par exemple, nous pouvons utiliser une transformation de recherche connectée pour connaître les noms de chaque employé travaillant dans un service spécifique en spécifiant l'ID de service dans l'expression de recherche.

Certaines des principales transformations d'Informatica connectées sont Aggregator, Router, Joiner, Normalizer, etc.



Les transformations qui ne sont liées à aucune autre transformation sont appelées Transformations non connectées .Leur fonctionnalité est utilisée en les appelant dans d'autres transformations telles que la transformation Expression. Ces transformations ne font pas partie du pipeline de mappage.

Les transformations non connectées sont utilisées lorsque leur fonctionnalité n'est requise que dans certaines conditions.Par exemple, en tant que programmeur, vous souhaitez effectuer une opération compliquée sur les données, cependantvous ne souhaitez pas utiliser les transformations Informatica telles que les transformations d'expression ou de filtre pour effectuer cette opération. Dans ce cas, vous pouvez créer une DLL externe ou une bibliothèque partagée UNIX avec les codes pour effectuer l'opération et les appeler dans la transformation de procédure externe.

Il existe 3 transformations Informatica à savoir. Procédure externe, recherche et procédure stockée qui peuvent être déconnectées dans un mappage valide (un mappage que le service d'intégration peut exécuter).

2) Types de transformations Informatica basés sur la modification du nombre de lignes

  • Transformations actives
  • Transformations passives

Transformations actives :- Une transformation active peut effectuer l'une des actions suivantes:

  • Modifier le nombre de lignes qui passent par la transformation: par exemple, la transformation Filtre est active car elle supprime les lignes qui ne remplissent pas la condition de filtre.
  • Modifier la limite de transaction: une limite de transaction est une limite qui englobe toutes les transactions avant qu'un commit ne soit appelé ou entre deux appels de commit. Par exemple, lors d'une opération transactionnelle, l'utilisateur sent qu'après certaines transactions, une validation est requise et appelle la commande commit pour créer un point de sauvegarde et, ce faisant, l'utilisateur modifie la limite de transaction par défaut. Par défaut, la limite de transaction se situe entre le début du fichier et le point de validation automatique ou EOF.
  • Modifiez l'attribut rowtype: l'attribut Rowtype est un type d'enregistrement qui représente une ligne dans une table. L'enregistrement peut stocker une ligne entière de données sélectionnées dans la table ou extraire un pointeur ou une variable de pointeur. Par exemple, la transformation de stratégie de mise à jour marque le type de ligne comme 0 pour l'insertion de valeurs, 1 pour la mise à jour, 2 pour la suppression ou 3 pour le rejet.
  • Aggregator, Filter, Joiner, Normalizer, etc. sont quelques exemples de transformation active.

Transformation passive : Une transformation passive est celle qui satisfera toutes ces conditions:

  • Le nombre de lignes avant et après la transformation est le même.
  • Maintient la limite de transaction.
  • Conserve l'attribut rowtype.
  • Expression, ExternalProcedure, HTTP, etc. sont quelques exemples de transformation passive.

Dans la transformation passive, aucune nouvelle ligne n'est créée ou les lignes existantes sont supprimées.

Vous devez vous demander pourquoi les transformations passives sont utilisées si elles ne modifient pas le nombre de lignes. Ils sont généralement utilisés pour mettre à jour des valeurs, appeler une procédure externe à partir d'une bibliothèque partagée et pour définir l'entrée et la sortie des maplets. Un maplet est une collection contenant uniquement les transformations du mappage. Par exemple, pour une base de données d'étudiants, nous souhaitons mettre à jour les valeurs de la colonne de notes en percentile au lieu du pourcentage, cela peut être fait en utilisant une transformation d'expression qui convertira les valeurs et les mettra à jour dans les mêmes colonnes en gardant le même nombre total de lignes après les transformations.

Il n'y a aucune restriction selon laquelle si une transformation est utilisée comme transformation passive, elle ne peut pas être utilisée ultérieurement comme transformation active. De même, une transformation non connectée peut être utilisée comme une transformation connectée selon les besoins. Toutes les combinaisons possibles peuvent être formées entre ces catégories et c'est la magie des transformations Informatica. Vous aurez une meilleure idée plus tard dans ce blog des types possibles auxquels une transformation peut appartenir.

Maintenant que nous avons compris les différents types de transformations Informatica, commençons à les explorer.Vous trouverez ci-dessous quelques types principaux de transformations Informatica:

Transformation Type La description
AgrégateurConnecté actifEffectue des calculs agrégés.
ExpressionPassif connectéCalcule une valeur.
JavaConnecté actif ou connecté passifExécute la logique utilisateur codée en Java. Le bytecode de la logique utilisateur est stocké dans le référentiel
MenuisierConnecté actifJoint les données de différentes bases de données ou de systèmes de fichiers plats.
ChercherConnecté actif ou connecté passif ou actif non connecté ou passif non connectéRechercher et renvoyer des données à partir d'un fichier plat, d'une table relationnelle, d'une vue ou d'un synonyme.
NormaliseurConnecté actifUtilisé dans le pipeline pour normaliser les données à partir de sources de fichiers relationnels ou plats.
RangConnecté actifLimite les enregistrements à une plage supérieure ou inférieure.
RouteurConnecté actifAchemine les données dans plusieurs transformations en fonction des conditions du groupe.
SQLConnecté actif ou connecté passifExécute des requêtes SQL sur une base de données.
syndicatConnecté actifFusionne les données de différentes bases de données ou systèmes de fichiers plats.
Générateur XMLConnecté actifLit les données d'un ou plusieurs ports d'entrée et sort du XML via un seul port de sortie.
Analyseur XMLConnecté actifLit le XML à partir d'un port d'entrée et sort les données vers un ou plusieurs ports de sortie.
Qualificateur de source XMLConnecté actifReprésente les lignes que le service d'intégration lit à partir d'une source XML lorsqu'il exécute une session.

Commençons maintenant à regarder les transformations une par une.

Transformation d'agrégateur

La transformation d'agrégateur est une transformation active et connectée. Cette transformation Informatica est utile pour effectuer des calculs tels que des moyennes et des sommes (principalement pour effectuer des calculs sur plusieurs lignes ou groupes). Par exemple, pour calculer le nombre total de ventes quotidiennes ou pour calculer la moyenne des ventes mensuelles ou annuelles. Les fonctions d'agrégation telles que AVG, FIRST, COUNT, PERCENTILE, MAX, SUM, etc. peuvent être utilisées dans la transformation d'agrégat.

Transformation de recherche

La transformation de recherche est la transformation Informatica la plus populaire et la plus utilisée. En fonction des exigences de l'utilisateur, la transformation de recherche peut être utilisée comme une transformation connectée ou non connectée en la combinant en tant que transformation active ou passive. jet est principalement utilisé pour rechercher les détails à partir d'une source, d'un qualificateur de source ou d'une cible afin d'obtenir les données requises pertinentes. Vous pouvez également rechercher un «fichier plat», une «table relationnelle», une «vue» ou un «synonyme». On peut utiliser plusieurs transformations de recherche dans un mappage.

La transformation de recherche est créée avec le type de ports suivant (points logiques pour le transfert d'informations):

  • Port d'entrée (I)
  • Port de sortie (O)
  • Rechercher les ports (L)
  • Port de retour (R) (uniquement en cas de recherche non connectée)

Différences entre la transformation de recherche connectée et non connectée:

qu'est-ce que keyerror en python
  • La recherche connectée reçoit les valeurs d'entrée directement du pipeline de mappage, tandis que la recherche UnConnected reçoit les valeurs de la recherche expression d'une autre transformation. Un mappage dans Informatica peut contenir une source, des transformations et des cibles connectées ensemble sont considérées comme un pipeline.
  • La recherche connectée renvoie plusieurs colonnes de la même ligne car elles ont plusieurs ports de retour, oùsLa recherche UnConnected n'a qu'un seul port de retour et renvoie une colonne de chaque ligne. Par exemple, si nous utilisons une recherche connectée sur une base de données d'employés pour un identifiant de service spécifique en tant que paramètre, nous pouvons obtenir tous les détails relatifs aux employés de ce service, tels que leurs noms, leur numéro d'identification d'employé, leur adresse, etc., alors qu'avec une recherche non connectée, nous ne pouvons obtenir qu'un seul attribut de l'employé comme son nom ou son numéro d'identification d'employé ou tout attribut spécifié par l'utilisateur.
  • La recherche connectée met en cache toutes les colonnes de recherche, tandis que la recherche UnConnected met en cache uniquement la sortie de la recherche et les conditions de recherche.
  • La recherche connectée prend en charge les valeurs par défaut définies par l'utilisateur, tandis que la recherche UnConnected ne prend pas en charge les valeurs définies par l'utilisateur. Par exemple, si vous souhaitez changer toutes les valeurs d'une certaine colonne en NULL après la recherche, vous pouvez définir la valeur par défaut de ces colonnes sur NULL dans les expressions de recherche. Cette fonctionnalité n'est cependant pas possible en cas de recherche UnConnected.

Disons qu'à partir d'une base de données clients, je souhaite connaître les détails des clients qui ont plus d'une facture non annulée. Pour obtenir ces données, nous pouvons utiliser une transformation de recherche.

Voici les étapes.

  1. Commencez par charger la table Facture comme source dans le concepteur de mappage. Si vous ne savez pas comment charger les données source dans le Designer, Cliquez ici . recherche-source-informatica transformations-edureka
  2. Filtrons maintenant les factures qui ne sont pas annulées. Pour ce faire, créez un nouveau filtre nommé fil_ODS_CUSTOMER_ACTIVE au qualificatif de source avec la propriété NOT (ISNULL (DATE_CLOSED)) ET ANNULÉ = 0.
  3. Maintenant, ajoutez une transformation de recherche dans le concepteur comme indiqué ci-dessous avec le nom comme lkp_CUSTOMER :

  4. Spécifiez la table de recherche comme table client.
  5. Double-cliquez sur l'en-tête de lkp_CUSTOMER pour ouvrir le menu d'édition. Sous l'onglet Condition, définissez la condition de recherche comme CUST_ID = CUST_NO.
  6. Dans l'onglet Propriétés, modifiez les informations de connexion en $ Source et cliquez sur D'accord pour enregistrer la transformation:
  7. Lier le lkp_CUSTOMER ports vers ODS_CUSTOMER_ACTIVE ports pour terminer la transformation requise où ODS_CUSTOMER_ACTIVE est le fichier cible requis:
  8. La carte emblématique finale comprenant la transformation de recherche doit être comme ci-dessous:

Transformation d'expression

La transformation d'expression est une transformation Informatica passive et connectée. Les transformations d'expression sont utilisées pour la manipulation par ligne. Pour tout type de manipulation que vous souhaitez effectuer sur un enregistrement individuel, utilisez une transformation Expression. La transformation Expression accepte les données par ligne, les manipule et les transmet à la cible. Par exemple, pour calculer la remise pour chaque produit ou pour concaténer le prénom et le nom ou pour convertir les dates en un champ de chaîne.

Transformation de menuisier

La transformation Joiner est une transformation Informatica active et connectée utilisée pour joindre deux sources hétérogènes. La transformation de jointure joint les sources en fonction d'une condition spécifiée qui correspond à une ou plusieurs paires de colonnes entre les deux sources. Les deux pipelines d'entrée incluent un pipeline principal et un pipeline ou une branche de détail. Pour joindre plus de deux sources, vous devez joindre la sortie de la transformation de jointure avec une autre source. Pour joindre n nombre de sources dans un mappage, vous avez besoin de n-1 transformations de jointure. La transformation Joiner prend en charge les types de jointures suivants:
  • Ordinaire
  • Maître externe
  • Détail extérieur
  • Plein extérieur
Ordinaire join supprime toutes les lignes de données de la source principale et détaillée qui ne correspondent pas, en fonction de la condition. Maître extérieur jointures supprime toutes les lignes sans correspondance de la source principale et conserve toutes les lignes de la source de détail et les lignes correspondantes de la source principale. Détail oute r join conserve toutes les lignes de données de la source principale et les lignes correspondantes de la source de détails. Il supprime les lignes sans correspondance de la source de détails. Plein extérieur join conserve toutes les lignes de données des sources principales et détaillées.

Nous ne pouvons pas joindre plus de deux sources en utilisant un seul menuisier. Pour joindre trois sources, nous devons avoir deux transformations de jointure.

Disons que nous voulons joindre trois tables - Employés, Départements et Sites - à l'aide de Joiner. Nous aurons besoin de deux menuisiers. Joiner-1 rejoindra, les employés et les départements et Joiner-2 se joindront, la sortie de la table Joiner-1 et Emplacements.

Voici les étapes:

  1. Apportez trois sources dans le concepteur de cartographie.
  2. Créez le Joiner -1 pour rejoindre les employés et les services à l'aide de Department_ID.

  3. Créez le prochain menuisier, Joiner-2. Prenez la sortie de Joiner-1 et les ports de la table des emplacements et apportez-les à Joiner-2. Rejoignez ces deux sources de données à l'aide de Location_ID.
  4. La dernière étape consiste à envoyer lesles portsdu Joiner-2 à la cible ou via une expressiontransformationà la table cible.

Transformation syndicale

La transformation de l'Union est une transformation Informatica active et connectée. Il est utilisé pour fusionner plusieurs ensembles de données de divers flux ou pipelines en un seul ensemble de données. Cette transformation Informatica fonctionne de manière similaire à la commande UNION ALL dans SQL mais ne supprime aucune ligne en double. Il est recommandé d'utiliser un agrégateur pour supprimer les doublons qui ne sont pas attendus sur la cible.

Transformation de normalisateur

Normaliseur La transformation est une transformation Informatica active et connectée. C'est l'une des transformations Informatica les plus largement utilisées, principalement avec des sources COBOL où la plupart du temps, les données sont stockées dans un format dénormalisé. En outre, la transformation Normaliseur peut être utilisée pour créer plusieurs lignes à partir d'une seule ligne de données.

Essayons de charger un fichier plat de données séparées par des virgules à partir d'un fichier plat / source Cobol.

Voici les étapes:

  1. Commencez par charger le Store (fichier plat) avec le nom du magasin et le chiffre d'affaires trimestriel:
  2. Créez une nouvelle transformation Normaliseur nommée NRM_STORE_EXP avec deux ports Store and Quarter (se répète 4 fois car nous avons des données pour 4 trimestres) comme indiqué ci-dessous:
  3. L'onglet ports doit être comme indiqué ci-dessous:
  4. Copiez / liez les colonnes suivantes et connectez-vous à la transformation Normaliseur.
    Boutique
    Trimestre1
    Trimestre2
    Trimestre3
    Trimestre4
    Le mappage doit ressembler à ceci:
  5. Créer une nouvelle transformation d'expression avec exp_STORE . Copiez / liez les colonnes suivantes et connectez-vous à Expression Transformation comme indiqué ci-dessous:
    Boutique
    Trimestre
    GK_QUARTER
    GCID_QUARTER
  6. Liez l'expression à la cible finale pour terminer le mappage à l'aide de la transformation Normalisation.

qu'est-ce qu'un jeton en java

Transformation XML

Les transformations XML sont une transformation Informatica active et connectée. Dans les transformations Informatica, la transformation XML est principalement utilisée lorsque le fichier source est de type XML ou que les données sont de type XML. La transformation XML peut être principalement classée en 3 transformations:

  • Transformation du qualificatif de source XML.
  • Transformation d'analyseur XML.
  • Transformation du générateur XML.

Qualificateur de source XML Transformation : XML Source Qualifier est une transformation active et connectée. Le qualificatif de source XML est utilisé uniquement avec une définition de source XML. Il représente les éléments de données que le serveur Informatica lit lorsqu'il exécute une session avec des sources XML. XML Source Qualifier a un port d'entrée ou de sortie pour chaque colonne de la source. Si vous supprimez une définition de source XML d'un mappage, le concepteur supprime également la transformation Qualificateur de source XML correspondante.

Transformation de l'analyseur XML: La transformation d'analyseur XML est une transformation active et connectée. La transformation Analyseur XML est utilisée pour extraire du XML dans un pipeline, puis le transmettre à la cible. Le XML est extrait des systèmes sources tels que des fichiers ou des bases de données. La transformation Analyseur XML lit les données XML à partir d'un seul port d'entrée et écrit les données sur un ou plusieurs ports de sortie.

Transformation du générateur XML: XML Generator est une transformation active et connectée. La transformation XML Generator est utilisée pour créer du XML à l'intérieur d'un pipeline. XML Generator Transformation lit les données d'un ou plusieurs ports d'entrée et produit du XML via un seul port de sortie.

Transformation de rang

La transformation de rang est une transformation active et connectée. Il s'agit d'une transformation Informatica qui vous aide à sélectionner le rang supérieur ou inférieur des données. Par exemple, pour sélectionner les 10 principales régions où le volume des ventes était très élevé ou pour sélectionner les 10 produits les moins chers.

Considérez que vous souhaitez charger le premier et le dernier enregistrement dans une table cible à partir de la base de données de mes employés. L'idée derrière cela est d'ajouter un numéro de séquence aux enregistrements, puis de prendre le premier rang et le premier rang des enregistrements.

  1. Faites glisser et déposez les ports du qualificatif source vers deux transformations de rang.
  2. Créez un générateur de séquence réutilisable ayant la valeur de départ 1 et connectez la valeur suivante aux deux transformations de rang.
  3. Définissez les propriétés de classement comme suit. Le port de séquence nouvellement ajouté doit être choisi comme port de rang. Pas besoin de sélectionner un port comme Group by Port.Rank - 1
  4. Rang - 2
  5. Créez deux instances de la cible.Connectez le port de sortie à la cible.

Transformation du routeur

Le routeur est une transformation active et connectée. C'est similaire à la transformation de filtre. La seule différence est que la transformation de filtre supprime les données qui ne remplissent pas la condition, tandis que le routeur a une option pour capturer les données qui ne remplissent pas la condition. Il est utile de tester plusieurs conditions. Il a des groupes d'entrée, de sortie et par défaut.

Supposons que vous souhaitiez séparer les enregistrements pairs et impairs d'une table, cela peut être fait en utilisant une transformation de routeur.

L'idée est d'ajouter un numéro de séquence aux enregistrements, puis de diviser le numéro d'enregistrement par 2. S'il est divisible, déplacez-le vers la cible paire et sinon, déplacez-le vers la cible impaire.

  1. Faites glisser la source et connectez-vous à une transformation d'expression.
  2. Ajoutez la valeur suivante d'un générateur de séquence à la transformation d'expression.
  3. Dans la transformation d'expression, faites deux ports, l'un est «impair» et l'autre «pair».
  4. Écrivez l'expression comme ci-dessous
  5. Connectez une transformation de routeur à expression.
  6. Faites deux groupes sous la transformation du routeur.
  7. Donnez la condition comme ci-dessous
  8. Envoyez ensuite les deux groupes vers des cibles différentes. C'est tout le flux.

J'espère que ce blog sur la transformation Informatica a été utile pour approfondir votre compréhension des différentes transformations Informatica et a suscité suffisamment d'intérêt pour en savoir plus sur Informatica.

Si vous avez trouvé ce blog utile, vous pouvez également consulter notre série de blogs de tutoriels Informatica et Tutoriel Informatica: Comprendre Informatica «Inside Out» .Si vous recherchez des détails sur la certification Informatica, vous pouvez consulter notre blog Certification Informatica: tout ce qu'il y a à savoir .

Si vous avez déjà décidé de faire carrière dans Informatica, je vous recommanderais pourquoi ne pas jeter un œil à notre page de cours. La formation de certification Informatica chez Edureka fera de vous un expert d'Informatica grâce à des sessions en direct animées par un instructeur et à une formation pratique utilisant des cas d'utilisation réels.