Trasformazione della ricerca in Informatica (esempio)

⚡ Riepilogo intelligente

La trasformazione Lookup in Informatica legge una tabella relazionale, un file flat, una vista o un sinonimo e restituisce i valori corrispondenti per ogni riga in ingresso, funzionando come un join in cui una delle due parti è la sorgente di lookup.

  • 🔎 Le condizioni determinano l'esito della partita: La scheda Condizione contiene il confronto, ad esempio DEPTNO = DEPTNO1, che determina quale riga di ricerca viene restituita.
  • 🧪 Esempio pratico: Mappa vettorialeping I passaggi del progettista recuperano i nomi dei dipartimenti da DEPT in una destinazione EMP_DEPTNAME senza un Joiner.
  • ???? Connesso o non connesso: Una ricerca connessa si trova nella pipeline, mentre una ricerca non connessa viene richiamata da un'espressione con il qualificatore :LKP.
  • ️ Modalità passiva predefinita: Restituire una singola riga mantiene la trasformazione passiva, mentre restituire tutte le righe corrispondenti la rende attiva.
  • ♻️ Oggetti riutilizzabili: Selezionando Rendi riutilizzabile, una trasformazione si trasforma in un oggetto mappatopingpossono condividere.
  • ⚠️ Promozione a senso unico: Una trasformazione promossa a riutilizzabile non può essere declassata, quindi la richiesta di conferma merita un'attenta lettura.

Trasformazione della ricerca in Informatica

Che cos'è la trasformazione della ricerca?

La trasformazione Lookup è una trasformazione utilizzata per cercare un'origine, un qualificatore di origine o una destinazione al fine di ottenere i dati pertinenti. In sostanza, si tratta di un'operazione di join in cui una delle tabelle di join è costituita dai dati di origine e l'altra dalla tabella di lookup. L'origine di lookup può essere una tabella relazionale, una vista, un sinonimo o un file flat.

La trasformazione è passiva quando restituisce una singola riga per ogni riga in ingresso. A partire da PowerCenter 9.x, può essere creata anche per restituire tutte le righe che soddisfano la condizione; in tal caso, si tratta di una trasformazione attiva. La scelta viene effettuata al momento della creazione della trasformazione e non può essere modificata successivamente.

Ci sono due modi per posizionarlo su una mappapinge la differenza determina come il valore restituito raggiunge il resto della pipeline.

Aspetto Ricerca connessa Ricerca non connessa
Posizione Si trova all'interno della pipeline e riceve i valori dalla trasformazione precedente. Si trova all'esterno della pipeline e viene chiamato da un'espressione
Come viene chiamato Le file fluiscono nelle sue porte di ingresso Chiamato con il qualificatore di riferimento :LKP
Valori restituiti È possibile collegare a valle diverse porte di uscita. Un valore di ritorno viene restituito all'espressione chiamante.
Utilizzo tipico Ogni riga necessita delle colonne ricercate La ricerca è necessaria solo per alcune righe, oppure la stessa ricerca viene richiamata da più punti

Nei precedenti argomenti abbiamo utilizzato il Trasformazione del falegname per unire le tabelle "emp" e "dept" per ottenere i nomi dei dipartimenti. In questa sezione, implementeremo questa operazione utilizzando la trasformazione Lookup.

Come creare una trasformazione di ricerca

Di seguito sono riportati i passaggi per creare una trasformazione Lookup in Informatica.

Passo 1) Crea una nuova mappaping con EMP come origine e EMP_DEPTNAME come destinazione. La mappaping L'area di lavoro del progettista contiene quindi la sorgente, il suo qualificatore di sorgente e la definizione di destinazione.

Mappaping Tela di progettazione con la sorgente EMP, il suo qualificatore di sorgente e la destinazione EMP_DEPTNAME.

Passo 2) Crea una nuova trasformazione utilizzando il menu Trasformazione, quindi nella finestra Crea trasformazione:

  1. Seleziona la trasformazione Lookup come trasformazione
  2. Inserisci il nome della trasformazione "lkp_dept"
  3. Seleziona l'opzione di creazione

Crea la finestra di trasformazione con la trasformazione di ricerca selezionata e il nome lkp_dept inserito

Passo 3) Si aprirà la finestra della tabella di ricerca. In questa finestra:

  1. Seleziona il pulsante della sorgente
  2. Seleziona la tabella DIPARTIMENTO
  3. Selezionare il pulsante OK

Selezionare la finestra di dialogo Tabella di ricerca con il pulsante Origine selezionato e la tabella DEPT evidenziata.

Passo 4) Verrà creata una trasformazione di lookup con le colonne della tabella DEPT; ora seleziona il pulsante "Fatto". L'oggetto lkp_dept ora contiene DEPTNO, DNAME e LOC come porte di lookup.

Trasformazione di ricerca lkp_dept creata con le colonne della tabella DEPT come porte di ricerca

Passo 5) Trascina e rilascia la colonna DEPTNO dal Source Qualifier alla trasformazione Lookup; in questo modo verrà creata una nuova colonna denominata DEPTNO1 nella trasformazione Lookup. Successivamente, collega la colonna DNAME dalla trasformazione Lookup alla tabella di destinazione.

La trasformazione Lookup cercherà e restituirà il nome del dipartimento in base al valore di DEPTNO1. DEPTNO1 è la porta di input che contiene il numero di dipartimento del dipendente, mentre DEPTNO rimane la porta letta dalla tabella di ricerca DEPT.

DEPTNO è collegato dal Source Qualifier a lkp_dept e DNAME è collegato alla destinazione EMP_DEPTNAME.

Passo 6) Double Fai clic sulla trasformazione Ricerca. Quindi nella finestra di modifica della trasformazione:

  1. Seleziona la scheda delle condizioni
  2. Imposta la colonna delle condizioni su DEPTNO = DEPTNO1
  3. Selezionare il pulsante OK

Scheda Condizioni della finestra Modifica trasformazioni con la condizione DEPTNO = DEPTNO1 inserita

Passo 7) Collega le restanti colonne dal Source Qualifier alla tabella di destinazione.

Colonne rimanenti del qualificatore di origine collegate alla tabella di destinazione EMP_DEPTNAME

Ora salva il file carta geograficaping e eseguirlo dopo aver creato la sessione e il flusso di lavoro. Questa mappaping Verranno recuperati i nomi dei dipartimenti utilizzando la trasformazione Lookup.

La trasformazione Lookup è impostata per effettuare una ricerca nella tabella DEPT e la condizione di join è definita in base al numero di reparto. Se più di una riga DEPT soddisfa la condizione, la proprietà "Criterio di ricerca per corrispondenza multipla" nella scheda Proprietà decide quale valore viene restituito.

Trasformazione riutilizzabile

Una trasformazione normale è un oggetto che appartiene a una mappaping e può essere utilizzato all'interno di quella mappaping solo. Tuttavia, rendendo una trasformazione riutilizzabile, può essere riutilizzata all'interno di diverse mappepings.

Ad esempio, una trasformazione Lookup che recupera i dettagli del dipendente in base al numero di dipendente può essere utilizzata in più mappepingovunque siano richiesti i dati dei dipendenti.

Utilizzando una trasformazione riutilizzabile, si riduce il lavoro superfluo di creare nuovamente la stessa funzionalità. Ogni mappaping contiene un'istanza dell'oggetto memorizzato, quindi una modifica apportata alla trasformazione riutilizzabile si ripercuote su tutte le altre.

Come creare una trasformazione riutilizzabile

Di seguito sono riportati i passaggi per creare una trasformazione riutilizzabile.

Passo 1) Apri la mappaping che sta avendo la trasformazione, qui stiamo facendo la Trasformazione di rango riutilizzabile.

Mappaping aperto nel Designer con la trasformazione Rank che sta per essere resa riutilizzabile

Passo 2) Double Fai clic sulla trasformazione per aprire la finestra di modifica della trasformazione. Quindi:

  1. Seleziona la scheda Trasformazione nella finestra
  2. Selezionare la casella di controllo per rendere la trasformazione riutilizzabile
  3. Selezionare sì nella finestra di conferma
  4. Selezionare OK nella finestra delle proprietà della trasformazione.

Scheda Trasformazione della finestra Modifica trasformazioni con la casella di controllo Rendi riutilizzabile selezionata

Ciò renderà la trasformazione riutilizzabile. Vale la pena leggere la finestra di conferma nel terzo elemento prima di accettarla: promuovere una trasformazione a riutilizzabile è una modifica irreversibile nel Designer e l'oggetto non può essere declassato in seguito. Dove una singola mappaping necessita di una propria copia; trascina l'oggetto riutilizzabile sulla tela tenendo premuto il tasto Ctrl per creare invece un'istanza non riutilizzabile.

DOMANDE FREQUENTI

Una cache carica l'origine dati in memoria una sola volta, in modo che ogni riga venga abbinata localmente anziché interrogare il database. La cache è adatta a origini dati di piccole dimensioni o lette ripetutamente; una ricerca senza cache interroga l'origine dati per ogni riga in arrivo.

Utilizzate un Lookup quando una delle due tabelle è costituita da un piccolo riferimento e sono necessarie solo poche colonne, soprattutto quando lo stesso riferimento viene letto da più punti. Un Joiner è più adatto per un'unione effettiva di due grandi pipeline eterogenee.

La proprietà "Criteri di ricerca per corrispondenze multiple" decide se segnalare un errore o restituire il primo, l'ultimo o qualsiasi valore corrispondente. Scegliendo di restituire tutti i valori corrispondenti, la trasformazione diventa attiva e deve essere impostata al momento della creazione.

Solitamente ciò è dovuto alle grandi dimensioni dell'origine dati della ricerca. Una ricerca senza cache interroga il database una volta per riga, mentre una ricerca con cache paga il costo di creazione in anticipo. Rimuovere le porte di ricerca inutilizzate e restringere la query di ricerca sono entrambi accorgimenti utili.

L'apprendimento automatico viene utilizzato nei moderni strumenti di integrazione dati per suggerire corrispondenze tra colonne di una tabella di origine e di riferimento e per segnalare le ricerche che incidono eccessivamente sui tempi di esecuzione della sessione. Ogni suggerimento deve comunque essere verificato confrontandolo con i dati reali.

Il copilota assiste con il testo intorno alla mappaping Invece di utilizzare l'area di lavoro di Designer: consente di cercare override SQL, file di parametri e script che eseguono flussi di lavoro. Non può accedere al repository, quindi i nomi delle porte e le condizioni devono essere verificati manualmente.

Una trasformazione riutilizzabile è un singolo oggetto memorizzato condiviso da diverse mappepingUn mapplet è un insieme riutilizzabile di trasformazioni, con gruppi di input e output, che racchiude un intero blocco di logica anziché un singolo passaggio.

Nessuna riga nell'origine di ricerca soddisfaceva la condizione per le righe di input. Verificare la presenza di spazi finali, differenze tra maiuscole e minuscole e incongruenze nei tipi di dati tra le due porte, poiché il confronto è esatto.

Riassumi questo post con: