Informatica Transformations: Hjertet og sjælen i Informatica PowerCenter



Få en komplet forståelse af, hvad der er Informatica Transformations, og få et indblik i de forskellige større Informatica-transformationer med brugssager.

Informatica Transformations er arkivobjekter, der kan læse, ændre eller videregive data til de definerede målstrukturer som tabeller, filer eller andre krævede mål. En transformation bruges grundlæggende til at repræsentere et sæt regler, der definerer datastrømmen, og hvordan dataene indlæses i målene. Informatica PowerCenter leverer flere transformationer, der hver især har en bestemt funktionalitet.Plus, med Informatica, der er førende i dag på markedet for dataintegrationsplatform, kommer Informatica Transformations som et afgørende koncept, der kræves til .

For at forstå Informatica Transformations bedre, lad os først forstå, hvad der er kortlægning? En kortlægning er en samling af kilde- og målobjekter, der er knyttet sammen af ​​et sæt transformationer. Derfor repræsenterer transformationer i en kortlægning de operationer, som integrationstjenesten udfører på dataene under udførelsen af ​​workflowet. For at få en bedre forståelse af workflowet kan du tjekke vores blog Informatica Tutorial: Workflow management





Hvad er de forskellige informatica-transformationer?

Informatica-transformationer kan hovedsageligt klassificeres i to kategorier. For det første baseret på forbindelsen (sammenkædning i kortlægning) af transformationerne med hinanden, og den anden er baseret på ændringen i det samlede antal rækker mellem kilden og målet. Lad os starte med at kigge på Informatica-transformationerne baseret på tilslutningsmuligheder.

1) Typer af transformationer i Informatica baseret på tilslutningsmuligheder:



  • Forbundne transformationer.
  • Uforbundne transformationer.

I Informatica kaldes de transformationer, der er forbundet til en eller flere transformationer, som Forbundne transformationer .

De tilsluttede transformationer bruges, når en transformation kaldes for hver inputrække og forventes at returnere en værdi. For eksempel kan vi bruge en tilsluttet opslagstransformation til at kende navnene på hver medarbejder, der arbejder i en bestemt afdeling, ved at specificere afdelings-id i opslagsudtrykket.

Nogle af de vigtigste tilsluttede Informatica-transformationer er Aggregator, Router, Joiner, Normalizer osv.



De transformationer, der ikke er forbundet med andre transformationer, kaldes Uforbundne transformationer .Deres funktionalitet bruges ved at kalde dem inde i andre transformationer som ekspressionstransformation. Disse transformationer er ikke en del af kortlægningsrørledningen.

De ikke-tilsluttede transformationer bruges, når deres funktionalitet kun kræves baseret på visse betingelser.For eksempel, Som programmerer ønsker du dog at udføre en kompliceret operation på dataenedu ikke ønsker at bruge Informatica-transformationer som ekspression eller filtertransformationer til at udføre denne handling. I et sådant tilfælde kan du oprette et eksternt DLL- eller UNIX-delt bibliotek med koder til at udføre operationen og kalde dem i den eksterne proceduretransformation.

Der er 3 Informatica-transformationer, dvs. Ekstern procedure, opslag og lagret procedure, der kan frakobles i en gyldig kortlægning (En kortlægning, som integrationstjenesten kan udføre).

2) Typer af Informatica-transformationer baseret på ændringen i antal rækker

  • Aktive transformationer
  • Passive transformationer

Aktive transformationer :- En aktiv transformation kan udføre en af ​​følgende handlinger:

  • Skift antallet af rækker, der passerer gennem transformationen: For eksempel er filtertransformationen aktiv, fordi den fjerner rækker, der ikke opfylder filterbetingelsen.
  • Skift transaktionsgrænse: En transaktionsgrænse er en grænse, der omslutter alle transaktionerne, før en forpligtelse kaldes eller mellem to forpligtelsesopkald. For eksempel, under en transaktionshandling, føler brugeren, at der efter visse transaktioner kræves en forpligtelse, og kalder kommandoen commit for at oprette et savepoint, og ved at gøre det ændrer brugeren standardtransaktionsgrænsen. Som standard ligger transaktionsgrænsen mellem starten af ​​filen til auto commit point eller EOF.
  • Skift attributten rækketype: Attributten Rowtype er en posttype, der repræsenterer en række i en tabel. Posten kan gemme en hel række data valgt fra tabellen eller hente fra en markør eller en markørvariabel. For eksempel markerer opdateringsstrategitransformationen rowstype som 0 for indsættelse af værdier, 1 for opdatering, 2 for sletning eller 3 for afvisning.
  • Aggregator, Filter, Joiner, Normalizer osv. Er et par eksempler på aktiv transformation.

Passiv transformation : En passiv transformation er en, der vil tilfredsstille alle disse betingelser:

  • Antallet af rækker før og efter transformation er det samme.
  • Opretholder transaktionsgrænsen.
  • Vedligeholder attributten rowtype.
  • Ekspression, ExternalProcedure, HTTP osv. Er et par eksempler på passiv transformation.

I den passive transformation oprettes der ingen nye rækker, eller eksisterende rækker droppes.

Du må undre dig over, hvorfor der bruges passive transformationer til, hvis de ikke ændrer antallet af rækker. De bruges generelt til at opdatere værdier, kalde en ekstern procedure fra et delt bibliotek og til at definere input og output fra maplets. En maplet er en samling af kun transformationer fra kortlægningen. For eksempel For en elevdatabase ønsker vi at opdatere værdierne for karakterkolonnen til percentil i stedet for procentdelen, dette kan gøres ved hjælp af en ekspressionstransformation, der konverterer værdierne og opdateres i de samme kolonner og holder det samlede antal rækker ens efter transformationerne.

Der er ingen begrænsning for, at hvis en transformation bruges som en passiv transformation, kan den ikke senere bruges som aktiv transformation. Tilsvarende kan en ikke-forbundet transformation bruges som en tilsluttet transformation efter behov. Alle mulige kombinationer kan dannes mellem disse kategorier, og dette er magien ved Informatica-transformationer. Du får en bedre idé senere i denne blog om de mulige typer, en transformation kan tilhøre.

Nu hvor vi har fået en forståelse af de forskellige typer Informatica-transformationer, lad os begynde at udforske dem.Nedenfor er et par hovedtyper af Informatica-transformationer:

Transformation Type Beskrivelse
AggregatorAktiv tilsluttetUdfører samlede beregninger.
UdtrykPassiv tilsluttetBeregner en værdi.
JavaAktiv forbindelse eller passiv forbindelseUdfører brugerlogik kodet i Java. Bytekoden til brugerlogikken er gemt i lageret
SnedkerAktiv tilsluttetForbinder data fra forskellige databaser eller flade filsystemer.
Kig opAktiv tilsluttet eller passiv tilsluttet eller aktiv ikke tilsluttet eller passiv ikke forbundetSlå op og returner data fra en flad fil, relationstabel, visning eller synonym.
NormaliseringAktiv tilsluttetBruges i rørledningen til at normalisere data fra relationelle eller flade filkilder.
RangAktiv tilsluttetBegrænser poster til et top- eller bundområde.
RouterAktiv tilsluttetRuter data til flere transformationer baseret på gruppeforhold.
SQLAktiv forbindelse eller passiv forbindelseUdfører SQL-forespørgsler mod en database.
UnionAktiv tilsluttetFletter data fra forskellige databaser eller flade filsystemer.
XML-generatorAktiv tilsluttetLæser data fra en eller flere inputporte og output XML gennem en enkelt outputport.
XML-parserAktiv tilsluttetLæser XML fra en indgangsport og udlæser data til en eller flere udgangsporte.
XML Source QualifierAktiv tilsluttetRepræsenterer de rækker, som Integration Service læser fra en XML-kilde, når den kører en session.

Lad os nu begynde at se på transformationerne en efter en.

Aggregator Transformation

Aggregator transformation er en aktiv og forbundet transformation. Denne Informatica-transformation er nyttig til at udføre beregninger såsom gennemsnit og summer (hovedsageligt til at udføre beregninger på flere rækker eller grupper). For eksempel at beregne det samlede antal daglige salg eller at beregne gennemsnittet af månedligt eller årligt salg. Aggregerede funktioner som AVG, FIRST, COUNT, PERCENTILE, MAX, SUM osv. Kan bruges i samlet transformation.

Lookup Transformation

Lookup transformation er den mest populære og udbredte Informatica transformation. Baseret på brugerens krav, kan opslagstransformationen bruges som en tilsluttet eller ikke-forbundet transformation, der kombinerer den som en aktiv eller passiv transformation. jegt bruges til hovedsageligt at søge på detaljerne fra en kilde, kilde kvalificering eller mål for at få relevante krævede data. Du kan også slå op på en 'flad fil', 'relationel tabel', 'visning' eller 'synonym'. Man kan bruge flere opslagstransformationer i en kortlægning.

Opslagstransformationen oprettes med følgende type porte (logiske punkter til overførsel af information):

  • Indgangsport (I)
  • Udgangsport (O)
  • Slå porte op (L)
  • Returport (R) (kun i tilfælde af ikke-forbundet opslag)

Forskelle mellem Connected og UnConnected Lookup Transformation:

java-kode for at oprette forbindelse til mysql
  • Forbundet opslag modtager inputværdier direkte fra kortlægningsrørledningen, mens Uforbundet opslag modtager værdier fra opslag udtryk fra en anden transformation. En kortlægning i Informatica kan indeholde kilde, transformationer og mål, der er forbundet, betragtes som en pipeline.
  • Forbundet opslag returnerer flere kolonner fra samme række, da de har flere returporte, hvor de ersUforbundet opslag har kun en returport og returnerer en kolonne fra hver række. For eksempel, hvis vi bruger en tilsluttet opslag i en medarbejderdatabase for et specifikt afdelings-id som en parameter, kan vi få alle detaljerne relateret til medarbejderne i den afdeling som deres navne, medarbejder-id-nummer, adresse osv., Hvorimod med et ikke-forbundet opslag kan vi kun få en attribut for medarbejderen som deres navn eller medarbejder-id-nummer eller en hvilken som helst attribut, der er angivet af brugeren.
  • Forbundet opslag cacher alle opslagskolonner, hvorimod Uforbundet opslag cacher kun opslagsoutput og opslagsbetingelser.
  • Forbundet opslag understøtter brugerdefinerede standardværdier, hvorimod Uforbundet opslag ikke understøtter brugerdefinerede værdier. Hvis du f.eks. Vil ændre alle værdier i en bestemt kolonne til NULL efter opslag, kan du indstille standardværdien af ​​disse kolonner til NULL i opslagsudtrykkene. Denne funktion er dog ikke mulig i tilfælde af UnConnected-opslag.

Lad os sige fra en kundedatabase, at jeg gerne vil vide detaljerne om kunder, der har mere end 1 ikke-annulleret faktura. For at få disse data kan vi bruge en opslagstransformation.

Her er trinene.

  1. Start med at indlæse fakturatabellen som kilde i kortlægningsdesigneren. Hvis du ikke er klar over, hvordan du indlæser kildedata i designeren, Klik her . opslag-kilde-informatica transformationer-edureka
  2. Lad os nu filtrere de fakturaer, der ikke annulleres. For at gøre dette Opret et nyt filter med navnet fil_ODS_CUSTOMER_ACTIVE til Source Qualifier med ejendommen IKKE (ISNULL (DATE_CLOSED)) OG ANNULLERET = 0.
  3. Tilføj nu en opslagstransformation i designeren som vist nedenfor med navnet som lkp_KUNDE :

  4. Angiv opslagstabellen som kundetabel.
  5. Dobbeltklik på overskriften på lkp_KUNDE for at åbne redigeringsmenuen. Under fanen Betingelse indstil opslagsbetingelsen som CUST_ID = CUST_NO.
  6. Skift forbindelsesoplysninger til under fanen Egenskaber $ Kilde og klik på Okay for at redde transformationen:
  7. Tilknyt lkp_KUNDE porte til ODS_CUSTOMER_ACTIVE porte for at fuldføre den krævede transformation, hvor ODS_CUSTOMER_ACTIVE er den krævede målfil:
  8. Det sidste ikoniske kort inklusive opslagstransformationen skal være som nedenfor:

Ekspressionstransformation

Ekspressionstransformation er en passiv og forbundet informatica-transformation. Ekspressionstransformationer bruges til rækkevidde manipulation. Brug en ekspressionstransformation til enhver form for manipulation, du ønsker at udføre på en individuel post. Ekspressionstransformationen accepterer de rækkevise data, manipulerer dem og sender dem til målet. For eksempel at beregne rabatten for hvert produkt eller at sammenkæde for- og efternavne eller at konvertere datoer til et strengfelt.

Snedkertransformation

Joiner-transformationen er en aktiv og forbundet informatica-transformation, der bruges til at slutte sig til to heterogene kilder. Snedkertransformationen forbinder kilder baseret på en specificeret tilstand, der matcher et eller flere kolonnepar mellem de to kilder. De to inputrørledninger inkluderer en master- og en detaljeret pipeline eller gren. For at slutte sig til mere end to kilder skal du slutte output til snedkertransformationen med en anden kilde. For at slutte et antal kilder til en kortlægning skal du have n-1-snedkertransformationer. Joiner-transformationen understøtter følgende typer sammenføjninger:
  • Normal
  • Master Ydre
  • Detalje Ydre
  • Fuldt ydre
Normal join kasserer alle rækkerne med data fra masteren og detaljekilden, der ikke stemmer overens, baseret på betingelsen. Master ydre sammenføjninger kasserer alle de ikke-matchede rækker fra masterkilden og holder alle rækkerne fra detaljekilden og de matchende rækker fra masterkilden. Detalje oute r join holder alle rækker med data fra masterkilden og de matchende rækker fra detaljekilden. Det kasserer de umatchede rækker fra detaljekilden. Fuld ydre join holder alle rækker med data fra både master- og detailkilder.

Vi kan ikke deltage i mere end to kilder ved hjælp af en enkelt snedker. For at slutte sig til tre kilder skal vi have to snedkertransformationer.

Lad os sige, vi vil deltage i tre tabeller - Medarbejdere, afdelinger og placeringer - ved hjælp af Joiner. Vi har brug for to snedkere. Joiner-1 vil deltage, medarbejdere og afdelinger og Joiner-2 vil deltage, output fra Joiner-1 og Locations-tabellen.

Her er trinene:

  1. Bring tre kilder til kortlægningsdesigneren.
  2. Opret Joiner -1 for at deltage i medarbejdere og afdelinger ved hjælp af Department_ID.

  3. Opret den næste snedker, Joiner-2. Tag output fra Joiner-1 og porte fra Locations Table, og før dem til Joiner-2. Deltag i disse to datakilder ved hjælp af Location_ID.
  4. Det sidste trin er at sende det krævedeportefra Joiner-2 til målet eller via et udtryktransformationtil måltabellen.

Union Transformation

Union Transformation er en aktiv og forbundet Informatica transformation. Det bruges til at flette flere datasæt fra forskellige strømme eller rørledninger til et datasæt. Denne Informatica-transformation fungerer ligesom UNION ALL-kommandoen i SQL, men den fjerner ikke nogen duplikerede rækker. Det anbefales at bruge en aggregator til at fjerne dubletter, som ikke forventes til målet.

Normaliseringstransformation

Normalisering Transformation er en aktiv og forbundet informatica-transformation. Det er en af ​​de mest anvendte Informatica-transformationer, hovedsageligt med COBOL-kilder, hvor det meste af tiden data lagres i de-normaliserede format. Normalizer-transformation kan også bruges til at oprette flere rækker fra en enkelt datarække.

Lad os prøve at indlæse en kommasepareret datafladfil fra en fladfil / Cobol-kilde.

c ++ program for at sortere en matrix i stigende rækkefølge

Her er trinene:

  1. Start med at indlæse butikken (flad fil) med butiksnavnet og kvartalsvise indtægter:
  2. Opret en ny Normalizer-transformation med navnet NRM_STORE_EXP med to porte Store og Quarter (gentages 4 gange, fordi vi har data i 4 kvartaler) som vist nedenfor:
  3. Fanen porte skal være som vist nedenfor:
  4. Kopier / link de følgende kolonner, og opret forbindelse til Normalizer Transformation.
    butik
    Kvartal1
    Kvartal2
    Kvartal3
    Kvartal4
    Kortlægningen skal se ud som følger:
  5. Opret en ny udtrykstransformation med exp_STORE . Kopier / link følgende kolonner og opret forbindelse til udtrykstransformation som vist nedenfor:
    butik
    Kvarter
    GK_QUARTER
    GCID_QUARTER
  6. Link udtrykket til det endelige mål for at fuldføre kortlægningen ved hjælp af normaliseringstransformation.

XML-transformation

XML-transformationer er en aktiv og forbundet informatica-transformation. I Informatica-transformationer bruges XML-transformation hovedsageligt, når kildefilen er af XML-type, eller data er af XML-type. XML-transformation kan primært klassificeres i 3 transformationer:

  • XML-kilde-kvalifikationstransformation.
  • XML Parser Transformation.
  • XML Generator Transformation.

XML Source Qualifier Transformation : XML Source Qualifier er en aktiv og forbundet transformation. XML Source Qualifier bruges kun med en XML-kildedefinition. Det repræsenterer de dataelementer, som Informatica Server læser, når den udfører en session med XML-kilder. XML Source Qualifier har en input- eller outputport til hver kolonne i kilden. Hvis du fjerner en XML-kildedefinition fra en kortlægning, fjerner designeren også den tilsvarende XML Source Qualifier-transformation.

XML Parser Transformation: XML Parser Transformation er en aktiv og forbundet transformation. XML Parser-transformation bruges til at udtrække XML inde i en pipeline og derefter overføre dette til målet. XML ekstraheres fra kildesystemerne såsom filer eller databaser. XML Parser-transformation læser XML-data fra en enkelt inputport og skriver data til en eller flere outputporte.

XML Generator Transformation: XML Generator er en aktiv og tilsluttet transformation. XML Generator-transformation bruges til at oprette XML inde i en pipeline. XML Generator Transformation læser data fra en eller flere inputporte og output XML gennem en enkelt outputport.

Rang transformation

Rank transformation er en aktiv og forbundet transformation. Det er en Informatica-transformation, der hjælper dig med at vælge den øverste eller nederste rang af data. For eksempel at vælge top 10-regioner, hvor salgsmængden var meget høj, eller at vælge 10 produkter med lavest pris.

Overvej at du ønsker at indlæse den første og sidste post i en måltabel fra min medarbejderdatabase. Ideen bag dette er at tilføje et sekvensnummer til posterne og derefter tage Top 1-rang og Bund 1-rang fra posterne.

  1. Træk og slip porte fra kildekvalificering til to rangtransformationer.
  2. Opret en genanvendelig sekvensgenerator med startværdi 1, og forbind den næste værdi til begge rangtransformationer.
  3. Indstil rangegenskaber som følger. Den nyligt tilføjede sekvensport skal vælges som Rank Port. Ingen grund til at vælge en port som gruppe efter havn. Rang - 1
  4. Rang - 2
  5. Lav to forekomster af målet.Tilslut outputporten til målet.

Routertransformation

Router er en aktiv og tilsluttet transformation. Det svarer til filtertransformation. Den eneste forskel er, filtertransformation slipper de data, der ikke opfylder betingelsen, mens routeren har en mulighed for at fange de data, der ikke opfylder betingelsen. Det er nyttigt at teste flere forhold. Det har input, output og standardgrupper.

Lad os sige, at du ønsker at adskille de ulige og lige poster i en tabel, dette kan gøres ved hjælp af en routertransformation.

Ideen er at tilføje et sekvensnummer til optegnelserne og derefter dele optegnelsesnummeret med 2. Hvis det er deleligt, skal du flytte det til lige mål og hvis ikke så flytte det til ulige mål.

  1. Træk kilden, og opret forbindelse til en ekspressionstransformation.
  2. Føj den næste værdi af en sekvensgenerator til ekspressionstransformation.
  3. I ekspressionstransformation lav to porte, den ene er “ulige” og en anden “lige”.
  4. Skriv udtrykket som nedenfor
  5. Tilslut en routertransformation til udtryk.
  6. Lav to grupper under routertransformationen.
  7. Giv betingelse som nedenfor
  8. Send derefter de to grupper til forskellige mål. Dette er hele strømmen.

Jeg håber, at denne Informatica Transformation-blog var nyttig til at bygge din forståelse på de forskellige Informatica-transformation og har skabt nok interesse til at lære mere om Informatica.

Hvis du fandt denne blog hjælpsom, kan du også tjekke vores Informatica Tutorial-blogserie og Informatica Tutorial: Forståelse af Informatica 'Inside Out' .Hvis du leder efter oplysninger om Informatica-certificering, kan du tjekke vores blog Informatica-certificering: Alt hvad der er at vide .

Hvis du allerede har besluttet at tage Informatica som en karriere, vil jeg anbefale dig, hvorfor ikke kigge på vores kursus side. Informatica-certificeringstræningen på Edureka vil gøre dig til en ekspert inden for Informatica gennem live instruktørledede sessioner og praktisk træning i brug af virkelige livssager.