Transformare calificativ sursă în Informatica cu EXEMPLU

⚡ Rezumat inteligent

Transformarea Calificator sursă din Informatica reprezintă rândurile pe care Serviciul de integrare le citește dintr-o sursă relațională sau un fișier plat și permite unui dezvoltator să suprascrie interogarea implicită, să filtreze, să sorteze și să dedupliceze datele respective.

  • 🧩 Obiect automat: Un calificator sursă apare automat de fiecare dată când un tabel relațional sau un fișier plat este adăugat la o hartăping.
  • ✍️ Suprascriere SQL: O interogare personalizată înlocuiește comanda SELECT generată și are prioritate față de filtrul sursă și setările de porturi sortate.
  • 🔢 Ordinea porturilor: Lista SELECT trebuie să denumească porturile în ordinea în care apar în transformare, altfel sesiunea poate eșua.
  • 🎯 Filtru sursă: O condiție de filtrare elimină rândurile din baza de date, iar cuvântul cheie WHERE trebuie omis din aceasta.
  • 🔗 Îmbinare cu o singură trecere: Tabelele înrudite dintr-o sursă relațională pot fi unite în interiorul unui calificator sursă în loc de un joiner.
  • ⚡ Less trafic: Lucrările introduse în interogarea sursă mută mai puține rânduri în rețea, în sesiune.

Transformarea calificativului sursei în Informatica

Ce este transformarea calificatorului sursei?

Transformarea Calificator sursă este o transformare activă, conectată, care reprezintă rândurile pe care Serviciul de integrare le citește atunci când rulează o sesiune. Ori de câte ori o sursă relațională sau un fișier plat este adăugat la o hartăping, este necesară o transformare Source Qualifier, iar Designer adaugă una automat. Cu Source Qualifier, puteți defini și suprascrie modul în care datele sunt preluate din sursă.

Transformarea convertește, de asemenea, tipurile de date native ale sursei în tipuri de date de transformare Informatica, astfel încât fiecare transformare plasată după aceasta funcționează cu un set de tipuri neutru față de platformă.

Deoarece Calificatorul Sursă construiește interogarea care ajunge efectiv în baza de date, este primul loc în care trebuie căutat atunci când o Hartăping citește mai multe rânduri sau mai multe coloane decât este necesar. Exemplul de mai jos restrânge interogarea la patru coloane.

Cum se modifică calificatorul sursă în Informatica

În exemplul următor vom modifica Calificatorul Sursă al hărții noastreping „m_emp_emp_target”, astfel încât în ​​loc să returneze toate coloanele, să returneze doar coloanele selectate.

Pas 1) Deschide hartaping „m_emp_emp_target” în Hartăping Designer. Hartaping se deschide cu sursa EMP, calificatorul sursă SQ_EMP și ținta EMP_TARGET pe pânză.

Hartăping m_emp_emp_target deschis în Informatica Mapping proiectant

Pas 2) Double-faceți clic pe transformarea Calificator sursă „SQ_EMP”. Aceasta deschide fereastra Editare transformări pentru obiectul respectiv. Apoi

  1. Faceți clic pe fila Proprietăți
  2. Apasă pe SQL Opțiunea Modificare interogare, aceasta va deschide o fereastră de editor SQL

Fila Proprietăți listează rândul din interogarea SQL afișat mai jos.

Fila Proprietăți a Calificatorului Sursă SQ_EMP cu rândul Interogare SQL selectat

Pas 3) În fereastra editorului SQL

  1. Introduceți următoarea interogare
    SELECT  EMPNO,  ENAME,  JOB,  MGR FROM  EMP

    notițe – selectăm coloanele EMPNO, ENAME, JOB și MGR din sursă, așa că le-am păstrat doar pe acestea în interogarea de selecție

  2. Selectați butonul OK

Editorul SQL păstrează acum interogarea personalizată în loc de cea generată.

Fereastra editorului SQL care conține interogarea SELECT personalizată pentru calificatorul sursă

Pas 4) În fereastra Editare transformări,

  1. Selectați fila Porturi din meniu
  2. Sub fila Porturi veți vedea toate porturile. Păstrați doar porturile EMPNO, ENAME, JOB, MGR și ștergeți celelalte porturi.

Fila Porturi listează fiecare port transportat de transformare înainte de ștergere.

Fila Porturi din fereastra Editare transformări care listează toate porturile Calificatorului sursă

Pas 5) După ștergerea porturilor, selectați butonul OK. În listă rămân doar cele patru porturi rămase.

Fila Porturi după ce porturile nedorite ale Calificatorului de Sursă sunt șterse

Acum faceți clic din nou pe fila Proprietăți din fereastra Editare transformări și veți vedea doar datele pe care le-ați selectat.

Fila Proprietăți care afișează suprascrierea interogării SQL salvate pe Calificatorul sursă

Când faceți clic pe butonul „OK”, se va deschide fereastra Editorului SQL.

  1. Va confirma că datele selectate sunt corecte și gata de încărcare în tabelul țintă.
  2. Faceți clic pe butonul OK pentru a continua

Fereastra de confirmare repetă cele patru coloane care vor fi acum citite.

Fereastra editorului SQL care confirmă interogarea suprascrisă înainte de mapareping este salvat

Salvați hartaping (folosind comanda rapidă Ctrl+S) și executați comanda flux de lucruDupă execuție, doar coloanele selectate vor fi încărcate în țintă.

În acest fel, puteți suprascrie în Calificatorul Sursă ce coloane trebuie preluate din sursă, iar aceasta este singura modalitate de a controla ce coloane specifice sunt aduse în interiorul hărții.ping.

Proprietățile Calificatorului sursei

Puteți utiliza diverse proprietăți ale Calificatorului Sursă pentru a determina ce tip de date sursă trebuie transformate și trimise către tabelul țintă.

  1. Filtru sursă – Folosind proprietatea Source Filter puteți reduce numărul de înregistrări sursă. De exemplu, dacă doriți să preluați doar angajații departamentului 10, puteți introduce condiția de filtrare deptno=10 în proprietatea Source Filter și puteți executa datele. Includeți numele tabelului și numele portului în condiție și omiteți cuvântul cheie WHERE – un filtru care conține WHERE eșuează sesiunea.
  2. Numărul de porturi sortate – În transformarea Calificator sursă puteți sorta înregistrările de intrare și după poziția portului. Serviciul de integrare adaugă o clauză ORDER BY la interogarea implicită, numărând porturile de la începutul transformării, astfel încât datele sunt deja sortate atunci când ajung la transformările din interiorul hărții.ping.

    Deoarece datele pot fi sortate pe un singur port sau pe mai multe porturi, trebuie să specificați numărul de porturi care vor fi utilizate la sortare. Dacă specificați valoarea 1, atunci vor fi sortate doar datele empno. Dacă specificați valoarea 2, atunci datele vor fi sortate atât pe empno, cât și pe ename.

  3. Selectați Distinct – puteți prelua doar înregistrări distincte din sursă folosind această proprietate. Când selectați opțiunea Select Distinct, Integration Service adaugă o instrucțiune SELECT DISTINCT, astfel încât doar combinațiile distincte de date sursă sunt preluate de către Source Qualifier.

Fila Proprietăți afișată mai jos conține aceste opțiuni împreună cu restul listei de proprietăți.

Fila Proprietăți Calificator Sursă cu Filtru Sursă, Număr de Porturi Sortate și Selectare Distinctă

Lista completă de proprietăți disponibilă pentru un Calificator de Sursă relațional este rezumată în tabelul de mai jos.

Proprietatea Ce face
SQL Query Înlocuiește interogarea implicită generată de Integration Service. O interogare personalizată suprascrie o asociere definită de utilizator și un filtru sursă.
Asociere definită de utilizator Furnizează condiția utilizată pentru a uni date din mai multe surse reprezentate de același calificator de sursă.
Filtru sursă Furnizează condiția de filtrare pe care o aplică Integration Service la interogarea rândurilor.
Numărul de porturi sortate Numărul de coloane utilizate pentru sortarea rândurilor citite din surse relaționale, adăugate la interogare ca ORDER BY.
Tracing Level Cantitatea de detalii scrise în jurnalul de sesiune pentru această transformare.
Selectați Distinct Returnează rânduri unice numai prin adăugarea comenzii SELECT DISTINCT la interogare.
Pre-SQL Comenzile rulează în baza de date sursă înainte ca Integration Service să citească sursa.
Post-SQL Comenzile rulează în baza de date sursă după ce Integration Service scrie în țintă.
Rezultatul este determinist Declară că sursa returnează aceleași date între rulări atunci când intrarea este consistentă.
Ieșirea este repetabilă Declară că sursa returnează rânduri în aceeași ordine între execuții, ceea ce permite Integration Service să sară peste punerea la punct pentru recuperare.

Reguli și instrucțiuni pentru o suprascriere SQL a calificatorului sursă

O suprascriere SQL este puternică deoarece înlocuiește tot ceea ce a generat Designer și de aceea se defectează discret atunci când regulile de mai jos sunt ignorate.

  • Conectați porturile mai întâi. Conectați fiecare port de intrare și ieșire pe care intenționați să îl utilizați înainte de a introduce interogarea, deoarece interogarea generată este construită din porturile conectate.
  • Păstrați lista SELECT în ordinea porturilor. Instrucțiunea SELECT trebuie să listeze numele porturilor în ordinea în care apar în transformare. Dacă ordinea nu se potrivește, sesiunea poate eșua sau poate returna rezultate neașteptate.
  • Calificați fiecare coloană. Fiecare nume de coloană trebuie să fie prefixat de tabelul, vizualizarea sau sinonimul căruia îi aparține, de exemplu ORDERS.ORDER_ID.
  • Generează înainte de a edita. Dacă faceți clic pe Generare SQL, se afișează interogarea implicită, care conține deja filtrul sursă și clauza sorted-ports, astfel încât suprascrierea poate fi construită dintr-o instrucțiune funcțională.
  • Validați afirmația. Editorul SQL are un buton Validate care rulează interogarea și raportează dacă sintaxa este corectă înainte de a începe sesiunea.
  • Citează cuvinte rezervate. Orice cuvânt rezervat în baza de date utilizat în interogare trebuie să fie inclus între ghilimele.
  • Atenție la precedență. O interogare personalizată suprascrie filtrul sursă și numărul de porturi sortate, iar o interogare SQL introdusă în sesiune proprietățile suprascriu atât condiția de filtrare, cât și interogarea definită în hartăping.

Pentru Microsoft SQL Server surse există o regulă suplimentară: numărul de coloane din instrucțiunea SELECT trebuie să corespundă cu numărul de porturi din transformare, altfel sesiunea eșuează la preluarea rândurilor.

Cum să unești două surse cu un singur calificator de sursă

Un singur calificator sursă poate citi mai multe tabele. Când două tabele corelate din aceeași sursă relațională sunt legate la un calificator sursă, serviciul de integrare le unește în interiorul interogării sursă, nu în interiorul hărții.ping, ceea ce înseamnă că baza de date face treaba și mai puține rânduri călătoresc către sesiune.

Join-ul implicit este o echijoin-ură internă scrisă în clauza WHERE ca Source1.column_name = Source2.column_name. Pentru ca join-ul respectiv să fie generat, coloanele unite trebuie să aibă o relație cheie primară-cheie externă și tipuri de date corespunzătoare. În cazul în care metadatele importate nu au o astfel de relație, puteți crea una în Analizor de surse prin legarea coloanelor corespondente ale celor două definiții sursă.

Când relația lipsește sau joncțiunea trebuie să fie o joncțiune externă, utilizați în schimb proprietatea Join definită de utilizator. Condiția introdusă acolo înlocuiește informațiile despre joncțiune conținute în metadate, iar Integration Service le adaugă la interogarea generată.

Două limite merită reținute. Ambele tabele trebuie să provină din aceeași sursă relațională, iar sursele de tipuri diferite – un fișier plat și un tabel sau două baze de date diferite – trebuie să fie unite cu Transformarea tamplarului in schimb.

Calificator sursă vs. filtru vs. transformare joiner

Trei obiecte pot reduce sau combina rânduri, iar alegerea celui greșit este o cauză frecventă a sesiunilor lente. Tabelul de mai jos le prezintă alăturate.

Aspect Calificator sursă Transformarea filtrului Transformarea tamplarului
Unde se desfășoară lucrarea În baza de date sursă, în interogarea generată În Serviciul de Integrare, rând cu rând În serviciul de integrare, utilizarea unei memorie cache
Scop principal Citirea rândurilor sursă, suprascrierea interogării, filtrare, sortare, deduplicare Eliminați rândurile care nu corespund uneia dintre condiții Combinați două conducte într-un singur set de rânduri
Tipuri de surse Tabele relaționale și fișiere plate dintr-o singură sursă Orice date din conductă Surse eterogene, inclusiv fișiere plate și baze de date diferite
Alătură-te suportului Echijoin internă sau o joncțiune definită de utilizator într-o singură sursă relațională Nici unul Îmbinări normale, exterioare principale, exterioare de detaliu și exterioare complete
Rânduri care traversează rețeaua Numai rândurile returnate de interogare Fiecare rând sursă este citit mai întâi Fiecare rând sursă este citit mai întâi

Regula practică este simplă: filtrați și alăturați-vă cât mai devreme posibil, după cum permite sursa, și căutați un Filtru sau un Joiner doar pentru munca pe care baza de date sursă nu o poate face. Introducerea condițiilor în Calificatorul Sursă este una dintre cele mai ieftine victorii disponibile în timpul reglarea performanței.

Întrebări frecvente

Comenzile pre-SQL se execută pe baza de date sursă înainte ca Integration Service să citească sursa. Comenzile post-SQL se execută pe aceeași bază de date după ce Integration Service termină de scris în destinație.

TracNivelul de detaliere setează cât de multă detaliu scrie transformarea în jurnalul sesiunii. Un nivel mai ridicat ajută la diagnosticarea unui număr neașteptat de rânduri, dar mărește jurnalul și încetinește rularea, așa că este recomandat să îl reduceți ulterior.

Editorul SQL are un buton Validare. Acesta execută instrucțiunea pentru sursa de date ODBC selectată și raportează dacă sintaxa este corectă, astfel încât erorile să apară în Designer în loc să apară într-o sesiune eșuată.

Da. Parametrii și variabilele sunt permise în interogare, în joncțiunea definită de utilizator, în filtrul sursă și în comenzile pre- și post-sesiune. Includeți parametrii de tip șir de caractere în stilul de citare așteptat de baza de date sursă.

Acestea declară că o sursă returnează aceleași date și aceeași ordine între execuții. Când ambele sunt setate, Integration Service omite punerea la zi a datelor sursă pentru recuperare, ceea ce scurtează execuția.

Nu. Suprascrierea interogărilor, joncțiunile definite de utilizator, filtrele sursă și comenzile pre- sau post-sesiune sunt introduse într-o bază de date, deci se aplică surselor relaționale. Un calificator de sursă de fișier plat controlează în principal traccomandă de încărcare și porturi.

Asistenții inteligenți artificiali citesc planurile de interogare și istoricul sarcinilor de lucru pentru a sugera predicate, indexuri și eliminarea coloanelor. Consultanții bazați pe învățarea automată din bazele de date moderne clasifică aceste sugestii, dar un dezvoltator validează în continuare fiecare modificare înainte ca aceasta să ajungă la o sesiune.

Copilot poate redacta instrucțiunea SELECT și poate accelera listele de coloane repetitive. Nu cunoaște ordinea porturilor transformării, așadar verificați instrucțiunea generată în fila Porturi înainte de a o salva.

Rezumați această postare cu: