Informatica Transformations: The Heart and Soul of Informatica PowerCenter

Krijg een volledig begrip van wat Informatica Transformations is en krijg inzicht in de verschillende belangrijke Informatica-transformaties met use cases.

Informatica Transformations zijn repository-objecten die gegevens kunnen lezen, wijzigen of doorgeven aan de gedefinieerde doelstructuren zoals tabellen, bestanden of andere vereiste doelen. Een transformatie wordt in feite gebruikt om een ​​set regels weer te geven, die de gegevensstroom definiëren en hoe de gegevens in de doelen worden geladen. Informatica PowerCenter biedt meerdere transformaties, elk met een bepaalde functionaliteit.Bovendien, met Informatica als marktleider op het gebied van data-integratieplatforms, is Informatica Transformations een cruciaal concept dat nodig is voor .

Laten we, om Informatica Transformations beter te begrijpen, eerst begrijpen wat mapping is. Een mapping is een verzameling bron- en doelobjecten die met elkaar zijn verbonden door een reeks transformaties. Daarom vertegenwoordigen transformaties in een mapping de bewerkingen die de integratieservice op de gegevens zal uitvoeren tijdens de uitvoering van de workflow. Om een ​​beter inzicht te krijgen in de workflow, kun je onze blog bekijken Informatica-zelfstudie: Workflowbeheer



Wat zijn de verschillende Informatica-transformaties?

Informatica Transformations kunnen hoofdzakelijk in twee categorieën worden ingedeeld. Ten eerste gebaseerd op de connectiviteit (Linking in mapping) van de transformaties met elkaar en de tweede is gebaseerd op de verandering in het totale aantal rijen tussen de bron en het doel. Laten we beginnen met het bekijken van de transformaties van Informatica op basis van connectiviteit.

1) Soorten transformaties in Informatica op basis van connectiviteit:

  • Verbonden transformaties.
  • Niet-verbonden transformaties.

In Informatica worden die transformaties genoemd die zijn verbonden met een of meer transformaties Verbonden transformaties .

De verbonden transformaties worden gebruikt wanneer voor elke invoerrij een transformatie wordt aangeroepen en naar verwachting een waarde retourneert. We kunnen bijvoorbeeld een verbonden opzoektransformatie gebruiken om de namen te kennen van elke werknemer die op een specifieke afdeling werkt door de afdelings-ID op te geven in de opzoekuitdrukking.

Enkele van de belangrijkste verbonden Informatica-transformaties zijn Aggregator, Router, Joiner, Normalizer, enz.

Die transformaties die niet met andere transformaties zijn verbonden, worden genoemd Onverbonden transformaties .Hun functionaliteit wordt gebruikt door ze binnen andere transformaties te plaatsen, zoals Expression-transformatie. Deze transformaties maken geen deel uit van de mappingpijplijn.

De niet-verbonden transformaties worden gebruikt wanneer hun functionaliteit alleen vereist is op basis van bepaalde voorwaarden.Als programmeur wilt u echter een ingewikkelde bewerking op de gegevens uitvoerenu wilt geen Informatica-transformaties zoals expressie- of filtertransformaties gebruiken om deze bewerking uit te voeren. In dat geval kunt u een externe DLL- of UNIX-gedeelde bibliotheek maken met de codes om de bewerking uit te voeren en deze oproepen in de externe proceduretransformatie.

Er zijn 3 Informatica-transformaties te weten. Externe procedure, opzoekactie en opgeslagen procedure die losgekoppeld kunnen worden in een geldige mapping (een mapping die de Integration Service kan uitvoeren).

2) Typen Informatica-transformaties gebaseerd op de verandering in het aantal rijen

  • Actieve transformaties
  • Passieve transformaties

Actieve transformaties :- Een actieve transformatie kan een van de volgende acties uitvoeren:

  • Wijzig het aantal rijen dat door de transformatie gaat: de filtertransformatie is bijvoorbeeld actief omdat het rijen verwijdert die niet voldoen aan de filtervoorwaarde.
  • Verander de transactiegrens: Een transactiegrens is een grens die alle transacties omvat voordat een commit wordt aangeroepen of tussen twee commit-aanroepen. Voor bijv. Tijdens een transactionele operatie, voelt de gebruiker dat na bepaalde transacties een vastlegging vereist is en roept hij het vastlegcommando aan om een ​​opslagpunt te creëren en door dit te doen verandert de gebruiker de standaard transactiegrens. Standaard ligt de transactiegrens tussen het begin van het bestand tot het automatische vastleggingspunt of EOF.
  • Wijzig het rowtype-attribuut: Rowtype-attribuut is een recordtype dat een rij in een tabel vertegenwoordigt. Het record kan een volledige rij gegevens opslaan die is geselecteerd uit de tabel of ophalen uit een pointer of pointervariabele. Voor bijv. De update-strategie-transformatie markeert rowstype als 0 voor het invoegen van waarden, 1 voor update, 2 voor verwijderen of 3 voor weigeren.
  • Aggregator, Filter, Joiner, Normalizer, etc. zijn enkele voorbeelden van actieve transformatie.

Passieve transformatie : Een passieve transformatie is er een die aan al deze voorwaarden voldoet:

  • Het aantal rijen voor en na transformatie is hetzelfde.
  • Handhaaft de transactiegrens.
  • Behoudt het attribuut rowtype.
  • Expression, ExternalProcedure, HTTP, etc. zijn enkele voorbeelden van passieve transformatie.

Bij de passieve transformatie worden geen nieuwe rijen gemaakt of worden bestaande rijen verwijderd.

U moet zich afvragen waarom passieve transformaties worden gebruikt als ze het aantal rijen niet wijzigen. Ze worden over het algemeen gebruikt om waarden bij te werken, een externe procedure aan te roepen vanuit een gedeelde bibliotheek en om de invoer en uitvoer van maplets te definiëren. Een maplet is een verzameling van alleen de transformaties uit de mapping. Voor bijvoorbeeld een studentendatabase willen we de waarden van de puntenkolom bijwerken naar percentiel in plaats van het percentage, dit kan worden gedaan door een expressie-transformatie te gebruiken die de waarden zal converteren en bijwerken in dezelfde kolommen, waarbij het totale aantal rijen hetzelfde blijft na de transformaties.

Er is geen beperking dat als een transformatie wordt gebruikt als een passieve transformatie, deze later niet kan worden gebruikt als actieve transformatie. Evenzo kan een niet-verbonden transformatie worden gebruikt als een verbonden transformatie volgens de behoeften. Alle mogelijke combinaties kunnen worden gevormd tussen deze categorieën en dit is de magie van Informatica-transformaties. Later in deze blog krijg je een beter idee over de mogelijke typen waartoe een transformatie kan behoren.

Nu we inzicht hebben gekregen in de verschillende soorten Informatica-transformaties, gaan we ze gaan verkennen.Hieronder staan ​​een aantal belangrijke typen Informatica-transformaties:

Transformatie Type Omschrijving
AggregatorActief verbondenVoert geaggregeerde berekeningen uit.
UitdrukkingPassief verbondenBerekent een waarde.
JavaActief verbonden of passief verbondenVoert gebruikerslogica uit die in Java is gecodeerd. De bytecode voor de gebruikerslogica wordt opgeslagen in de repository
SchrijnwerkerActief verbondenVoegt gegevens uit verschillende databases of platte bestandssystemen samen.
OpzoekenActief verbonden of passief verbonden of actief niet verbonden of passief niet verbondenZoek en retourneer gegevens uit een plat bestand, relationele tabel, weergave of synoniem.
NormalizerActief verbondenWordt in de pijplijn gebruikt om gegevens uit relationele of platte bestandsbronnen te normaliseren.
RangActief verbondenBeperkt records tot een boven- of onderbereik.
RouterActief verbondenRouteert gegevens naar meerdere transformaties op basis van groepsvoorwaarden.
SQLActief verbonden of passief verbondenVoert SQL-query's uit op een database.
UnieActief verbondenVoegt gegevens uit verschillende databases of platte bestandssystemen samen.
XML-generatorActief verbondenLeest gegevens van een of meer invoerpoorten en voert XML uit via een enkele uitvoerpoort.
XML-parserActief verbondenLeest XML van een invoerpoort en voert gegevens uit naar een of meer uitvoerpoorten.
XML-bronkwalificatieActief verbondenVertegenwoordigt de rijen die de integratieservice leest uit een XML-bron wanneer deze een sessie uitvoert.

Laten we nu de transformaties een voor een bekijken.

Aggregator-transformatie

Aggregatortransformatie is een actieve en verbonden transformatie. Deze Informatica-transformatie is handig voor het uitvoeren van berekeningen zoals gemiddelden en sommen (voornamelijk om berekeningen uit te voeren op meerdere rijen of groepen). Bijvoorbeeld om het totale aantal dagelijkse verkopen te berekenen of om het gemiddelde van de maandelijkse of jaarlijkse verkopen te berekenen. Geaggregeerde functies zoals AVG, FIRST, COUNT, PERCENTILE, MAX, SUM, enz., Kunnen worden gebruikt in geaggregeerde transformatie.

Transformatie opzoeken

Lookup-transformatie is de meest populaire en meest gebruikte Informatica-transformatie. Op basis van de behoefte van de gebruiker kan de opzoektransformatie worden gebruikt als een verbonden of niet-verbonden transformatie, waarbij deze wordt gecombineerd als een actieve of passieve transformatie. ikt wordt voornamelijk gebruikt om de details van een bron, bronkwalificatie of doel op te zoeken om relevante vereiste gegevens te krijgen. U kunt ook een ‘plat bestand’, ‘relationele tabel’, ‘weergave’ of ‘synoniem’ opzoeken. Men kan meerdere opzoektransformaties in een mapping gebruiken.

De opzoektransformatie wordt gemaakt met het volgende type poorten (logische punten voor overdracht van informatie):

  • Invoerpoort (I)
  • Uitgangspoort (O)
  • Poorten opzoeken (L)
  • Return Port (R) (alleen in geval van niet-verbonden lookup)

Verschillen tussen Connected en UnConnected Lookup Transformation:

lees xml-bestand in java-voorbeeld
  • Connected lookup ontvangt invoerwaarden rechtstreeks van mapping pipeline, terwijl UnConnected lookup waarden ontvangt van de lookup uitdrukking van een andere transformatie. Een mapping in Informatica kan Source, Transformations en Targets bevatten die met elkaar verbonden zijn en als een pijplijn worden beschouwd.
  • Verbonden opzoeken retourneert meerdere kolommen uit dezelfde rij omdat ze meerdere retourpoorten hebben, waarsUnConnected lookup heeft slechts één retourpoort en retourneert één kolom uit elke rij. Als we bijvoorbeeld een gekoppelde zoekopdracht in een werknemersdatabase gebruiken voor een specifieke afdelings-ID als parameter, kunnen we alle details krijgen die betrekking hebben op de werknemers van die afdeling, zoals hun namen, werknemers-ID-nummer, adres, enz., Terwijl met Bij een niet-verbonden zoekopdracht kunnen we slechts één kenmerk van de werknemer krijgen, zoals hun naam of werknemers-id of een ander kenmerk dat door de gebruiker is opgegeven.
  • Connected lookup cachet alle lookup kolommen, terwijl UnConnected lookup alleen de lookup output en lookup condities cachet.
  • Connected lookup ondersteunt door de gebruiker gedefinieerde standaardwaarden, terwijl UnConnected lookup geen ondersteuning biedt voor door de gebruiker gedefinieerde waarden. Als u bijvoorbeeld alle waarden van een bepaalde kolom na het opzoeken in NULL wilt wijzigen, kunt u de standaardwaarde van die kolommen instellen op NULL in de opzoekuitdrukkingen. Deze functie is echter niet mogelijk in het geval van UnConnected lookup.

Laten we zeggen vanuit een klantendatabase: ik wil de details weten van klanten die meer dan 1 niet-geannuleerde factuur hebben. Om deze gegevens te verkrijgen, kunnen we een opzoektransformatie gebruiken.

Hier zijn de stappen.

  1. Begin met het laden van de Factuurtabel als bron in de mappingontwerper. Als u niet duidelijk weet hoe u brongegevens in de Designer moet laden, Klik hier . lookup-source-informatica transformations-edureka
  2. Laten we nu de facturen filteren die niet zijn geannuleerd. Maak hiervoor een nieuw filter met de naam fil_ODS_CUSTOMER_ACTIVE naar de bronkwalificatie met de eigenschap NIET (ISNULL (DATE_CLOSED)) EN GEANNULEERD = 0.
  3. Voeg nu een opzoektransformatie toe in de ontwerper zoals hieronder te zien is met naam als lkp_CUSTOMER :

  4. Geef de opzoektabel op als de klantentabel.
  5. Dubbelklik op de kop van lkp_CUSTOMER om het bewerkingsmenu te openen. Stel op het tabblad Voorwaarde de opzoekvoorwaarde in als CUST_ID = CUST_NO.
  6. Wijzig op het tabblad Eigenschappen de Verbindingsinformatie in $ Bron en klik op OK om de transformatie op te slaan:
  7. Koppel het lkp_CUSTOMER poorten naar ODS_CUSTOMER_ACTIVE poorten om de vereiste transformatie waar ODS_CUSTOMER_ACTIVE is het vereiste doelbestand:
  8. De laatste iconische kaart inclusief de opzoektransformatie zou er als volgt uit moeten zien:

Expressie transformatie

Expressietransformatie is een passieve en verbonden Informatica-transformatie. Expressietransformaties worden gebruikt voor rijgewijze manipulatie. Gebruik een expressie-transformatie voor elk type manipulatie dat u op een individuele record wilt uitvoeren. De expressie-transformatie accepteert de rijgewijze gegevens, manipuleert deze en geeft deze door aan het doel. Bijvoorbeeld om de korting voor elk product te berekenen of om voor- en achternaam samen te voegen of om datums om te zetten in een tekenreeksveld.

Joiner-transformatie

De Joiner-transformatie is een actieve en verbonden Informatica-transformatie die wordt gebruikt om twee heterogene bronnen samen te voegen. De joiner-transformatie voegt bronnen samen op basis van een opgegeven voorwaarde die overeenkomt met een of meer paren kolommen tussen de twee bronnen. De twee invoerpijplijnen bevatten een hoofdpijplijn en een detailpijplijn of vertakking. Om meer dan twee bronnen samen te voegen, moet u de uitvoer van de joiner-transformatie samenvoegen met een andere bron. Om n aantal bronnen in een mapping samen te voegen, heb je n-1 joiner-transformaties nodig. De Joiner-transformatie ondersteunt de volgende typen joins:
  • Normaal
  • Meester Outer
  • Detail buitenkant
  • Volledige buitenkant
Normaal join verwijdert alle rijen met gegevens uit de hoofd- en detailbron die niet overeenkomen, op basis van de voorwaarde. Beheers de buitenkant joins verwijdert alle niet-overeenkomende rijen van de hoofdbron en behoudt alle rijen van de detailbron en de overeenkomende rijen van de hoofdbron. Detail oute r join houdt alle rijen met gegevens uit de hoofdbron en de overeenkomende rijen uit de detailbron. Het verwijdert de ongeëvenaarde rijen uit de detailbron. Volledige buitenkant join houdt alle rijen met gegevens van zowel de hoofd- als de detailbron bij.

We kunnen niet meer dan twee bronnen samenvoegen met een enkele joiner. Om drie bronnen samen te voegen, hebben we twee joiner-transformaties nodig.

Laten we zeggen dat we met Joiner aan drie tafels willen deelnemen: werknemers, afdelingen en locaties. We hebben twee schrijnwerkers nodig. Joiner-1 zal toetreden, werknemers en afdelingen en Joiner-2 zullen toetreden, de output van de Joiner-1 en Locations-tafel.

Hier zijn de stappen:

  1. Breng drie bronnen naar de kaartontwerper.
  2. Maak de Joiner -1 om medewerkers en afdelingen samen te voegen met Department_ID.

  3. Maak de volgende schrijnwerker, Joiner-2. Neem de uitvoer van Joiner-1 en poorten van de locatietabel en breng ze naar Joiner-2. Voeg deze twee gegevensbronnen samen met Location_ID.
  4. De laatste stap is het verzenden van het vereistepoortenvan de Joiner-2 naar het doel of via een uitdrukkingtransformatienaar de doeltafel.

Transformatie van de Unie

De Union Transformation is een actieve en verbonden Informatica-transformatie. Het wordt gebruikt om meerdere datasets van verschillende streams of pijplijnen samen te voegen tot één dataset. Deze Informatica-transformatie werkt op dezelfde manier als de UNION ALL-opdracht in SQL, maar verwijdert geen dubbele rijen. Het wordt aanbevolen om een ​​aggregator te gebruiken om duplicaten te verwijderen die niet op het doel worden verwacht.

Normalizer-transformatie

Normalizer Transformatie is een actieve en verbonden transformatie van Informatica. Het is een van de meest gebruikte Informatica-transformaties, voornamelijk met COBOL-bronnen, waar de gegevens meestal worden opgeslagen in een gede-normaliseerd formaat. Normalizer-transformatie kan ook worden gebruikt om meerdere rijen te maken op basis van een enkele rij met gegevens.

Laten we proberen een door komma's gescheiden plat gegevensbestand te laden vanuit een plat bestand / Cobol Source.

Hier zijn de stappen:

  1. Begin met het laden van de Store (plat bestand) met de winkelnaam en kwartaalomzet:
  2. Maak een nieuwe Normalizer-transformatie met de naam NRM_STORE_EXP met twee poorten Store en Quarter (wordt 4 keer herhaald omdat we gegevens hebben voor 4 kwartalen) zoals hieronder te zien is:
  3. Het tabblad poorten moet er als volgt uitzien:
  4. Kopieer / koppel de volgende kolommen en maak verbinding met Normalizer Transformation.
    Op te slaan
    Kwartaal 1
    Kwartaal 2
    Kwartaal 3
    Kwartaal 4
    De mapping zou er als volgt uit moeten zien:
  5. Maak een nieuwe expressie-transformatie met exp_STORE . Kopieer / koppel de volgende kolommen en maak verbinding met Expression Transformation zoals hieronder te zien is:
    Op te slaan
    Kwartaal
    GK_QUARTER
    GCID_QUARTER
  6. Koppel de uitdrukking aan het uiteindelijke doel om de toewijzing te voltooien met behulp van normalisatietransformatie.

XML-transformatie

XML-transformaties is een actieve en verbonden Informatica-transformatie. Bij Informatica-transformaties wordt XML-transformatie voornamelijk gebruikt als het bronbestand van het XML-type is of als de gegevens van het XML-type zijn. XML-transformatie kan voornamelijk worden ingedeeld in 3 transformaties:

  • XML Source Qualifier-transformatie.
  • XML Parser-transformatie.
  • XML Generator-transformatie.

XML-bronkwalificatie Transformatie : XML Source Qualifier is een actieve en verbonden transformatie. XML Source Qualifier wordt alleen gebruikt met een XML-brondefinitie. Het vertegenwoordigt de gegevenselementen die de Informatica Server leest wanneer deze een sessie met XML-bronnen uitvoert. XML Source Qualifier heeft één invoer- of uitvoerpoort voor elke kolom in de bron. Als u een XML-brondefinitie uit een toewijzing verwijdert, verwijdert de Designer ook de overeenkomstige XML Source Qualifier-transformatie.

XML Parser-transformatie: XML Parser-transformatie is een actieve en verbonden transformatie. XML Parser-transformatie wordt gebruikt om XML binnen een pijplijn te extraheren en deze vervolgens door te geven aan het doel. De XML wordt uit de bronsystemen gehaald, zoals bestanden of databases. De XML Parser-transformatie leest XML-gegevens van een enkele invoerpoort en schrijft gegevens naar een of meer uitvoerpoorten.

XML Generator Transformatie: XML Generator is een actieve en verbonden transformatie. XML Generator-transformatie wordt gebruikt om XML binnen een pijplijn te maken. XML Generator Transformation leest gegevens van een of meer invoerpoorten en voert XML uit via een enkele uitvoerpoort.

Rangtransformatie

Rangtransformatie is een actieve en verbonden transformatie. Het zijn Informatica-transformaties die u helpen bij het selecteren van de bovenste of onderste rangorde van gegevens. Bijvoorbeeld om de 10 beste regio's te selecteren waar het verkoopvolume erg hoog was of om 10 laagst geprijsde producten te selecteren.

java hoe u een reeks objecten kunt maken

Overweeg dat u het eerste en laatste record in een doeltabel wilt laden vanuit mijn werknemersdatabase. Het idee hierachter is om een ​​volgnummer aan de records toe te voegen en vervolgens de Top 1-positie en de Bottom 1-positie uit de records te halen.

  1. Sleep poorten van bronkwalificatie naar twee rangtransformaties.
  2. Maak een herbruikbare sequentiegenerator met startwaarde 1 en verbind de volgende waarde met beide rangschikkingtransformaties.
  3. Stel de rangschikking eigenschappen als volgt in. De nieuw toegevoegde sequentiepoort moet worden gekozen als Rank Port. Het is niet nodig om een ​​poort te selecteren als Group by Port.Rank - 1
  4. Rang - 2
  5. Maak twee exemplaren van het doelwit.Verbind de uitvoerpoort met het doel.

Router-transformatie

Router is een actieve en verbonden transformatie. Het is vergelijkbaar met filtertransformatie. Het enige verschil is dat filtertransformatie de gegevens verwijdert die niet aan de voorwaarde voldoen, terwijl de router een optie heeft om de gegevens vast te leggen die niet aan de voorwaarde voldoen. Het is handig om meerdere condities te testen. Het heeft invoer-, uitvoer- en standaardgroepen.

Stel dat u de oneven en even records van een tabel wilt scheiden, dit kunt u doen door een routertransformatie te gebruiken.

Het idee is om een ​​volgnummer aan de records toe te voegen en het recordnummer vervolgens door 2 te delen. Als het deelbaar is, verplaats het dan naar een even doel en zo niet naar een oneven doel.

  1. Versleep de bron en maak verbinding met een expressie-transformatie.
  2. Voeg de volgende waarde van een sequentiegenerator toe aan expressie-transformatie.
  3. Maak bij expressie-transformatie twee poorten, de ene is 'oneven' en de andere 'even'.
  4. Schrijf de uitdrukking zoals hieronder
  5. Verbind een routertransformatie met expressie.
  6. Maak twee groepen onder de routertransformatie.
  7. Geef voorwaarde zoals hieronder
  8. Stuur de twee groepen vervolgens naar verschillende doelen. Dit is de hele stroom.

Ik hoop dat deze Informatica Transformation-blog u heeft geholpen om uw begrip van de verschillende Informatica-transformatie te vergroten en voldoende interesse heeft gewekt om meer over Informatica te leren.

Als u deze blog nuttig vond, kunt u ook onze serie Informatica Tutorial-blogs bekijken en Informatica-zelfstudie: Informatica ‘Inside Out’ begrijpen .Als u op zoek bent naar meer informatie over Informatica-certificering, kunt u onze blog raadplegen Informatica-certificering: alles wat er te weten valt .

Als je al hebt besloten om Informatica als carrière op te nemen, zou ik je aanraden waarom je niet eens naar onze cursuspagina. De Informatica-certificeringstraining bij Edureka maakt van u een expert in Informatica door middel van live sessies onder leiding van een instructeur en hands-on training waarbij gebruik wordt gemaakt van praktijkvoorbeelden.