Transformacija kvalifikatora izvora u Informatici s PRIMJEROM

⚡ Pametni sažetak

Transformacija kvalifikatora izvora u Informatici predstavlja retke koje Integration Service čita iz relacijskog izvora ili ravne datoteke te omogućuje programeru da nadjača zadani upit, filtrira, sortira i deduplicira te podatke.

  • 🧩 Automatski objekt: Kvalifikator izvora pojavljuje se automatski kad god se relacijska tablica ili ravna datoteka dodaju na mapuping.
  • ✍️ SQL nadjačavanje: Prilagođeni upit zamjenjuje generirani SELECT i ima prioritet nad izvornim filterom i postavkom sortiranih portova.
  • 🔢 Redoslijed porta: SELECT lista mora imenovati portove redoslijedom kojim se pojavljuju u transformaciji, inače sesija može propasti.
  • 🎯 Izvorni filter: Uvjet filtera skraćuje retke u bazi podataka, a ključna riječ WHERE mora se izostaviti.
  • 🔗 Jednoprolazno spajanje: Povezane tablice iz jednog relacijskog izvora mogu se spojiti unutar jednog kvalifikatora izvora umjesto spojnika.
  • Less promet: Rad ubačen u izvorni upit premješta manje redaka preko mreže u sesiju.

Transformacija kvalifikatora izvora u Informatici

Što je transformacija kvalifikatora izvora?

Transformacija kvalifikatora izvora je aktivna, povezana transformacija koja predstavlja retke koje Integration Service čita kada se sesija pokrene. Kad god se relacijski izvor ili ravna datoteka dodaju mapiping, potrebna je transformacija Kvalifikatora izvora, a Dizajner je automatski dodaje. Pomoću Kvalifikatora izvora možete definirati i poništiti način dohvaćanja podataka iz izvora.

Transformacija također pretvara izvorne tipove podataka izvora u tipove podataka za transformaciju Informatica, tako da svaka transformacija postavljena nakon nje radi s jednim platformski neutralnim skupom tipova.

Budući da kvalifikator izvora gradi upit koji zapravo dolazi do baze podataka, to je prvo mjesto koje treba tražiti kada kartaping čita više redaka ili više stupaca nego što je potrebno. Primjer u nastavku sužava upit na četiri stupca.

Kako izmijeniti kvalifikator izvora u Informatici

U sljedećem primjeru modificirat ćemo Izvorni kvalifikator naše mapeping „m_emp_emp_target“, tako da umjesto vraćanja svih stupaca vraća samo odabrane stupce.

Korak 1) Otvori kartuping „m_emp_emp_target“ na Kartiping Dizajner. Kartaping otvara se s EMP izvorom, SQ_EMP kvalifikatorom izvora i EMP_TARGET ciljem na platnu.

Kartaping m_emp_emp_target otvoreno u Informatica Mapuping dizajner

Korak 2) Double-kliknite transformaciju Izvornog kvalifikatora „SQ_EMP“. Otvara se prozor Uredi transformacije za taj objekt. Zatim

  1. Kliknite karticu Svojstva
  2. kliknite SQL Opcija izmjene upita, ovo će otvoriti prozor SQL editora

Kartica Svojstva navodi redak SQL upita prikazan u nastavku.

Kartica Svojstva kvalifikatora izvora SQ_EMP s odabranim retkom SQL upita

Korak 3) U prozoru SQL editora

  1. Unesite sljedeći upit
    SELECT  EMPNO,  ENAME,  JOB,  MGR FROM  EMP

    bilješke – iz izvora odabiremo stupce EMPNO, ENAME, JOB i MGR, pa smo u upitu za odabir zadržali samo one

  2. Odaberite gumb U redu

SQL editor sada sadrži prilagođeni upit umjesto generiranog.

Prozor SQL editora koji sadrži prilagođeni SELECT upit za kvalifikator izvora

Korak 4) U prozoru Uredi transformacije,

  1. U izborniku odaberite karticu Portovi
  2. Pod karticom Portovi vidjet ćete sve portove. Zadržite samo portove EMPNO, ENAME, JOB i MGR, a ostale portove izbrišite.

Kartica Portovi navodi svaki port koji je transformacija nosila prije brisanja.

Kartica Portovi u prozoru Uredi transformacije s popisom svih portova kvalifikatora izvora

Korak 5) Nakon brisanja portova, odaberite gumb U redu. Na popisu ostaju samo četiri preostala porta.

Kartica Portovi nakon brisanja neželjenih portova kvalifikatora izvora

Sada ponovno kliknite karticu Svojstva u prozoru Uredi transformacije i vidjet ćete samo podatke koje ste odabrali.

Kartica Svojstva koja prikazuje spremljeno nadjačavanje SQL upita na kvalifikatoru izvora

Klikom na gumb "U redu" otvorit će se prozor SQL editora.

  1. Potvrdit će da su odabrani podaci ispravni i spremni za učitavanje u ciljnu tablicu.
  2. Kliknite gumb U redu za daljnji nastavak

Prozor za potvrdu ponavlja četiri stupca koja će sada biti pročitana.

Prozor SQL editora koji potvrđuje nadjačani upit prije mapiranjaping je spremljeno

Spremi kartuping (pomoću prečaca Ctrl+S) i izvršite tijek radaNakon izvršenja, samo će odabrani stupci biti učitani u cilj.

Na taj način možete u kvalifikatoru izvora poništiti koje stupce treba dohvatiti iz izvora, a to je jedini način da kontrolirate koji se specifični stupci unose unutar mape.ping.

Svojstva kvalifikatora izvora

Možete koristiti različita svojstva kvalifikatora izvora kako biste odredili koju vrstu izvornih podataka treba transformirati i poslati u ciljnu tablicu.

  1. Filtar izvora – Pomoću svojstva Izvorni filter možete smanjiti broj izvornih zapisa. Na primjer, ako želite dohvatiti samo zaposlenike odjela 10, možete unijeti uvjet filtera odjel=10 u svojstvo Izvorni filter i izvršiti podatke. U uvjet uključite naziv tablice i naziv porta, a izostavite ključnu riječ WHERE – filtar koji sadrži WHERE prekida sesiju.
  2. Broj sortiranih portova – U transformaciji Kvalifikatora izvora također možete sortirati ulazne zapise prema položaju porta. Integracijska usluga dodaje klauzulu ORDER BY zadanom upitu, brojeći portove od vrha transformacije, tako da su podaci već sortirani kada dosegnu transformacije unutar mape.ping.

    Budući da se podaci mogu sortirati na jednom portu ili na nekoliko portova, morate navesti broj portova koji će se koristiti u sortiranju. Ako navedete vrijednost 1, sortirat će se samo podaci empno. Ako navedete vrijednost 2, podaci će se sortirati i na empno i na ename.

  3. Odaberite Različito – pomoću ovog svojstva možete dohvatiti samo različite zapise iz izvora. Kada odaberete opciju Odaberi različite, Integration Service dodaje naredbu SELECT DISTINCT, tako da kvalifikator izvora dohvaća samo različite kombinacije izvornih podataka.

Kartica Svojstva prikazana u nastavku sadrži ove opcije zajedno s ostatkom popisa svojstava.

Kartica Svojstva kvalifikatora izvora s Filterom izvora, Brojem sortiranih portova i Odabirom različitih

Potpuni popis svojstava dostupnih na relacijskom kvalifikatoru izvora sažet je u donjoj tablici.

Svojstvo Ono što se također
SQL upit Zamjenjuje zadani upit koji generira Integration Service. Prilagođeni upit nadjačava korisnički definirano spajanje i izvorni filtar.
Korisnički definirano spajanje Pruža uvjet koji se koristi za spajanje podataka iz nekoliko izvora predstavljenih istim kvalifikatorom izvora.
Filtar izvora Navodi uvjet filtra koji Integration Service primjenjuje prilikom ispitivanja redaka.
Broj sortiranih portova Broj stupaca koji se koriste za sortiranje redaka pročitanih iz relacijskih izvora, dodanih upitu kao ORDER BY.
TracRazina Količina detalja zapisanih u zapisnik sesije za ovu transformaciju.
Odaberite Različito Vraća samo jedinstvene retke dodavanjem SELECT DISTINCT upitu.
Prije SQL-a Naredbe se izvršavaju na izvornoj bazi podataka prije nego što Integration Service pročita izvor.
Post-SQL Naredbe se izvode na izvornoj bazi podataka nakon što Integration Service zapiše u cilj.
Izlaz je deterministički Izjavljuje da izvor vraća iste podatke između izvršavanja kada je ulaz konzistentan.
Izlaz je ponovljiv Izjavljuje da izvor vraća retke istim redoslijedom između izvršavanja, što omogućuje Integration Serviceu da preskoči pripremu za oporavak.

Pravila i smjernice za nadjačavanje SQL-a kvalifikatora izvora

SQL nadjačavanje je moćno jer zamjenjuje sve što je Designer generirao, i to je ujedno razlog zašto se tiho prekida kada se ignoriraju dolje navedena pravila.

  • Prvo spojite portove. Povežite svaki ulazni i izlazni port koji namjeravate koristiti prije unosa upita, jer se generirani upit gradi iz povezanih portova.
  • Zadržite SELECT listu po redoslijedu portova. Naredba SELECT mora navesti nazive portova redoslijedom kojim se pojavljuju u transformaciji. Ako se redoslijed ne podudara, sesija može propasti ili vratiti neočekivane rezultate.
  • Kvalificirajte svaki stupac. Svaki naziv stupca mora imati prefiks tablice, prikaza ili sinonima kojem pripada, na primjer ORDERS.ORDER_ID.
  • Generiraj prije uređivanja. Klikom na Generiraj SQL prikazuje se zadani upit koji već sadrži izvorni filter i klauzulu sorted-ports, tako da se nadjačavanje može izgraditi iz radne naredbe.
  • Potvrdite izjavu. SQL Editor ima gumb Validate koji pokreće upit i izvještava je li sintaksa ispravna prije nego što se sesija uopće pokrene.
  • Citiraj rezervirane riječi. Svaka rezervirana riječ baze podataka korištena u upitu mora biti stavljena u navodnike.
  • Pazite na prioritet. Prilagođeni upit poništava izvorni filter i broj sortiranih portova, a SQL upit unesen u Sjednica svojstva nadjačavaju i uvjet filtera i upit definiran u mapiping.

Za Microsoft SQL Server izvori postoji jedno dodatno pravilo: broj stupaca u SELECT naredbi mora odgovarati broju portova u transformaciji, inače sesija ne uspijeva prilikom dohvaćanja redaka.

Kako spojiti dva izvora s jednim kvalifikatorom izvora

Jedan kvalifikator izvora može čitati više od jedne tablice. Kada su dvije povezane tablice iz istog relacijskog izvora povezane s jednim kvalifikatorom izvora, Integration Service ih spaja unutar upita izvora, a ne unutar mape.ping, što znači da baza podataka obavlja posao i manje redaka putuje do sesije.

Zadani spoj je unutarnji ekvispoj zapisan u WHERE klauzulu kao Izvor1.naziv_stupca = Izvor2.naziv_stupca. Da bi se taj spoj generirao, spojeni stupci moraju imati odnos primarni ključ-strani ključ i odgovarajuće tipove podataka. Tamo gdje uvezeni metapodaci nemaju takav odnos, možete ga stvoriti u Analizator izvora povezivanjem odgovarajućih stupaca dviju izvornih definicija.

Kada nedostaje odnos ili spajanje mora biti vanjsko spajanje, umjesto toga upotrijebite svojstvo Korisnički definirano spajanje. Uvjet unesen tamo zamjenjuje informacije o spajanju koje se nalaze u metapodacima, a Integration Service ih dodaje generiranom upitu.

Vrijedi zapamtiti dva ograničenja. Obje tablice moraju dolaziti iz istog relacijskog izvora, a izvori različitih tipova - ravna datoteka i tablica ili dvije različite baze podataka - moraju biti spojeni s Pretvorba stolara umjesto.

Kvalifikator izvora vs. filtar vs. transformacija spojnika

Tri objekta mogu smanjiti ili kombinirati retke, a odabir pogrešnog je čest uzrok sporih sesija. Tablica u nastavku ih prikazuje jedan pored drugog.

Aspekt Kvalifikator izvora Transformacija filtra Pretvorba stolara
Gdje se posao odvija U izvornoj bazi podataka, unutar generiranog upita U Integracijskoj usluzi, redak po redak U Integracijskoj usluzi, korištenje predmemorije
Glavna svrha Čitanje izvornih redaka, nadjačavanje upita, filtriranje, sortiranje, uklanjanje duplikata Izbacite retke koji ne ispunjavaju jedan uvjet Spojite dva cjevovoda u jedan skup redova
Vrste izvora Relacijske tablice i ravne datoteke jednog izvora Bilo koji podaci o cjevovodu Heterogeni izvori, uključujući ravne datoteke i različite baze podataka
Pridružite se podršci Unutarnji ekvispoj ili korisnički definirani spoj unutar jednog relacijskog izvora nijedan Normalni, glavni vanjski, detaljni vanjski i potpuni vanjski spojevi
Redovi koji prelaze mrežu Samo retci koje upit vraća Svaki izvorni redak se prvo čita Svaki izvorni redak se prvo čita

Praktično pravilo je jednostavno: filtrirajte i pridružite se čim izvor dopušta te posegnite za Filter ili Joiner samo za posao koji izvorna baza podataka ne može obaviti. Ubacivanje uvjeta u Izvorni kvalifikator jedna je od najjeftinijih dostupnih pobjeda tijekom podešavanje izvedbe.

Pitanja i odgovori

Pre-SQL naredbe se izvode na izvornoj bazi podataka prije nego što Integration Service pročita izvor. Post-SQL naredbe se izvode na istoj bazi podataka nakon što Integration Service završi s pisanjem u cilj.

TracRazina ing postavlja koliko detalja transformacija zapisuje u zapisnik sesije. Viša razina pomaže pri dijagnosticiranju neočekivanog broja redaka, ali povećava zapisnik i usporava izvođenje, pa je nakon toga smanjite.

SQL Editor ima gumb Validate. Pokreće naredbu na odabranom ODBC izvoru podataka i izvještava je li sintaksa ispravna, tako da se pogreške pojavljuju u Designeru umjesto u neuspjeloj sesiji.

Da. Parametri i varijable su dopušteni u upitu, korisničkom spoju, izvornom filtru i naredbama prije i poslije sesije. Parametre niza znakova stavite u navodni stil koji očekuje izvorna baza podataka.

Izjavljuju da izvor vraća iste podatke i isti redoslijed između izvršavanja. Kada su oba postavljena, Integration Service preskače pripremu izvornih podataka za oporavak, što skraćuje izvršavanje.

Ne. Nadjačavanja upita, korisnički definirani spojevi, izvorni filtri i naredbe prije ili poslije sesije ubacuju se u bazu podataka, pa se primjenjuju na relacijske izvore. Kvalifikator izvora u ravnoj datoteci uglavnom kontrolira tracing i luka redoslijed.

AI asistenti čitaju planove upita i povijest opterećenja kako bi predložili predikate, indekse i obrezivanje stupaca. Savjetnici temeljeni na strojnom učenju u modernim bazama podataka rangiraju te prijedloge, ali programer i dalje potvrđuje svaku promjenu prije nego što dođe do sesije.

Copilot može izraditi SELECT naredbu i ubrzati popise stupaca koji se ponavljaju. Ne zna redoslijed portova vaše transformacije, stoga provjerite generiranu naredbu na kartici Portovi prije spremanja.

Sažmite ovu objavu uz: