Transformarea căutării în Informatica (Exemplu)

⚡ Rezumat inteligent

Transformarea de căutare în Informatica citește un tabel relațional, un fișier plat, o vizualizare sau un sinonim și returnează valorile corespunzătoare pentru fiecare rând primit, funcționând ca o joncțiune în care o parte este sursa de căutare.

  • 🔎 Condiția conduce meciul: Fila Condiție conține comparația, cum ar fi DEPTNO = DEPTNO1, care decide ce rând de căutare este returnat.
  • 🧪 Exemplu lucrat: Șapte Hartăping Pașii de designer preiau numele departamentelor din DEPT într-o țintă EMP_DEPTNAME fără un joiner.
  • 🔌 Conectat sau neconectat: O căutare conectată se află în canal, în timp ce una neconectată este apelată dintr-o expresie cu calificatorul :LKP.
  • 🇧🇷 Pasiv în mod implicit: Returnarea unui singur rând menține transformarea pasivă, iar returnarea tuturor rândurilor corespondente o face activă.
  • ♻️ Obiecte reutilizabile: Bifarea opțiunii „Reutilizabil” transformă o transformare într-un obiect cu mai multe hărți.pings pot împărtăși.
  • ⚠️ Promoție unidirecțională: O transformare promovată la reutilizabilă nu poate fi retrogradată, așadar solicitarea de confirmare merită citită cu atenție.

Transformarea căutării în Informatica

Ce este transformarea căutării?

Transformarea de căutare este o transformare utilizată pentru a căuta o sursă, un calificator de sursă sau o țintă pentru a obține datele relevante. Practic, este un tip de operațiune de unire în care unul dintre tabelele de unire este datele sursă, iar celălalt tabel de unire este tabelul de căutare. Sursa de căutare în sine poate fi un tabel relațional, o vizualizare, un sinonim sau un fișier plat.

Transformarea este pasivă, returnând un singur rând pentru fiecare rând primit. De la PowerCenter 9.x încoace, poate fi creată și pentru a returna fiecare rând care corespunde condiției, iar în acest mod este o transformare activă. Alegerea se face la crearea transformării și nu poate fi schimbată ulterior.

Există două moduri de a-l plasa pe o hartăping, iar diferența decide modul în care valoarea returnată ajunge la restul pipeline-ului.

Aspect Căutare conectată Căutare neconectată
Funcția Se află în interiorul canalului și primește valori de la transformarea anterioară Se află în afara canalului și este apelat dintr-o expresie
Cum se numește Rândurile curg în porturile sale de intrare Apelat cu calificatorul de referință :LKP
Valorile returnate Mai multe porturi de ieșire pot fi conectate în aval O valoare returnată se referă la expresia apelantă
Utilizare tipică Fiecare rând are nevoie de coloanele căutate Căutarea este necesară doar pentru anumite rânduri sau aceeași căutare este apelată din mai multe locuri

În subiectele anterioare, am folosit Transformarea tamplarului pentru a uni tabelele „emp” și „dept” pentru a aduce numele departamentelor. În această secțiune, vom implementa același lucru folosind transformarea Lookup.

Cum se creează transformarea căutării

Următorii sunt pașii pentru a crea o transformare de căutare în Informatica.

Pas 1) Creați o nouă hartăping cu EMP ca sursă și EMP_DEPTNAME ca țintă. Hartaping Apoi, pânza de designer conține sursa, calificatorul său de sursă și definiția țintei.

Hartăping Canvasul de designer cu sursa EMP, calificatorul sursă și ținta EMP_DEPTNAME

Pas 2) Creați o nouă transformare utilizând meniul Transformare, apoi în fereastra Creare Transformare:

  1. Selectați transformarea Căutare ca transformare
  2. Introduceți numele transformării „lkp_dept”
  3. Selectați opțiunea de creare

Fereastra Creare Transformare cu opțiunea Căutare Transformare selectată și numele lkp_dept introdus

Pas 3) Aceasta va deschide fereastra tabelului de căutare. În această fereastră:

  1. butonul Selectare sursa
  2. Selectați tabelul DEPT
  3. Selectați butonul OK

Caseta de dialog Selectați tabelul de căutare cu butonul Sursă selectat și tabelul DEPT evidențiat

Pas 4) Transformarea de căutare va fi creată cu coloanele tabelului DEPT, acum selectați butonul „Terminat”. Obiectul lkp_dept poartă acum DEPTNO, DNAME și LOC ca porturi de căutare.

Transformarea de căutare lkp_dept creată cu coloanele tabelului DEPT ca porturi de căutare

Pas 5) Trageți și plasați coloana DEPTNO din Calificatorul sursă în transformarea Căutare. Aceasta va crea o nouă coloană DEPTNO1 în transformarea Căutare. Apoi, legați coloana DNAME din transformarea Căutare la tabelul țintă.

Transformarea Căutare va căuta și va returna numele departamentului pe baza valorii DEPTNO1. DEPTNO1 este portul de intrare care poartă numărul departamentului angajatului, în timp ce DEPTNO rămâne portul citit din tabelul de căutare DEPT.

DEPTNO legat de la Calificatorul Sursă în lkp_dept și DNAME legat de ținta EMP_DEPTNAME

Pas 6) Double Faceți clic pe transformarea Căutare. Apoi, în fereastra de editare a transformării:

  1. Selectați fila de condiții
  2. Setați coloana de condiții la DEPTNO = DEPTNO1
  3. Selectați butonul OK

Fila Condiție din fereastra Editare transformări cu condiția DEPTNO = DEPTNO1 introdusă

Pas 7) Legați restul coloanelor din Calificatorul sursă la tabelul țintă.

Coloanele Calificatoare Sursă rămase legate la tabelul țintă EMP_DEPTNAME

Acum, salvează Hartăping și executați-o după crearea sesiunii și a fluxului de lucru. Această hartăping va prelua numele departamentelor folosind transformarea Lookup.

Transformarea Căutare este setată să caute în tabelul DEPT, iar condiția de unire este setată pe baza numărului departamentului. Dacă mai multe rânduri DEPT pot îndeplini condiția, proprietatea Politica de căutare pentru potriviri multiple din fila Proprietăți decide ce valoare este returnată.

Transformare reutilizabilă

O transformare normală este un obiect care aparține unei hărțiping și poate fi folosit în interiorul acelei hărțiping numai. Totuși, prin reutilizarea unei transformări, aceasta poate fi reutilizată în mai multe hărțipings.

De exemplu, o transformare de căutare care preia detalii despre angajați pe baza numărului lor poate fi utilizată în mai multe hărți.pingoriunde sunt necesare detalii despre angajați.

Prin utilizarea unei transformări reutilizabile, se reduce suprasolicitarea creării din nou a aceleiași funcționalități. Fiecare hartăping conține o instanță a unui obiect stocat, astfel încât o modificare adusă transformării reutilizabile le atinge pe toate.

Cum se creează o transformare reutilizabilă

Următorii sunt pașii pentru a crea o transformare reutilizabilă.

Pas 1) Deschide hartaping care are loc transformarea, aici facem Transformarea rangului reutilizabile.

Hartăping deschis în Designer cu transformarea Rank care urmează să fie reutilizabilă

Pas 2) Double Faceți clic pe transformare pentru a deschide fereastra de editare a transformării. Apoi:

  1. Selectați fila Transformare în fereastră
  2. Bifați caseta de validare pentru a face transformarea reutilizabilă
  3. Selectați da în fereastra de confirmare
  4. Selectați OK în fereastra de proprietăți de transformare.

Fila Transformare din fereastra Editare transformări cu caseta de selectare Reutilizabil bifată

Aceasta va face transformarea reutilizabilă. Fereastra de confirmare din al treilea element merită citită înainte de a fi acceptată: promovarea unei transformări la reutilizabilă este o modificare unidirecțională în Designer, iar obiectul nu poate fi retrogradat ulterior. În cazul în care o singură hartăping are nevoie de propria copie, trageți obiectul reutilizabil pe pânză în timp ce țineți apăsată tasta Ctrl pentru a crea în schimb o instanță nereutilizabilă.

Întrebări frecvente

O memorie cache încarcă sursa de căutare în memorie o singură dată, astfel încât fiecare rând este potrivit local, în loc să fie interogată baza de date. Cache-ul este potrivit pentru surse de căutare mici sau citite în mod repetat; o căutare nememorată în memoria cache interoghează sursa pentru fiecare rând primit.

Folosește o funcție de căutare atunci când o parte este un tabel de referințe mic și sunt necesare doar câteva coloane, mai ales când aceeași referință este citită din mai multe locuri. Un joiner se potrivește unei joncțiuni autentice a două conducte eterogene mari.

Politica de căutare pentru proprietatea de potrivire multiplă decide. Poate raporta o eroare sau poate returna prima, ultima sau orice valoare corespondentă. Alegerea returnării tuturor valorilor corespondente face transformarea activă și trebuie setată la momentul creării.

De obicei, deoarece sursa de căutare este mare. O căutare nememorată în cache interoghează baza de date o dată pe rând, în timp ce una memorată în cache plătește costul de construire în avans. Eliminarea porturilor de căutare neutilizate și restrângerea interogării de căutare sunt ambele utile.

Învățarea automată este utilizată în instrumentele moderne de integrare a datelor pentru a sugera potriviri de coloane între o sursă și un tabel de referință și pentru a semnala căutările care domină timpul de execuție al sesiunii. Fiecare sugestie trebuie în continuare verificată în raport cu datele reale.

Copilot ajută cu textul de pe hartăping în loc de pânza Designer: căutare suprascrieri SQL, fișiere de parametri și scripturi care rulează fluxuri de lucru. Nu poate vedea repozitoriul, așadar numele porturilor și condițiile trebuie verificate manual.

O transformare reutilizabilă este un singur obiect stocat, partajat de mai multe hărți.pings. Un mapplet este un set reutilizabil de transformări, cu grupuri de intrare și ieșire, care încorporează o întreagă secțiune de logică în loc de un singur pas.

Niciun rând din sursa de căutare nu a îndeplinit condiția pentru acele rânduri de intrare. Verificați dacă există spații la sfârșit, diferențe de majuscule/minuscule și nepotriviri de tip de date între cele două porturi, deoarece comparația este exactă.

Rezumați această postare cu: