Questo tutorial descrive come i metadati possono contribuire a ridurre i tempi di sviluppo e spiega come crearli e utilizzarli.

In questo tutorial viene impiegato Talend Open Studio for Data Integration versione 6.

Talend Open Studio consente di creare ed eseguire programmi ETL Java o job utilizzando componenti predefiniti.

Ciascun componente può essere configurato come componente di tipo “Built-in” (Integrato) o “Repository”.

Per i componenti “Built-in”, le informazioni relative a modalità di lettura e contenuto del file:

  • vengono definite all’interno del componente;
  • sono esclusivamente applicabili al componente a cui si riferiscono;
  • non possono essere riutilizzate per un qualsiasi altro componente.

Per i componenti “Repository”, le informazioni:

  • vengono salvate come metadati;
  • possono essere riutilizzate in modo efficiente e continuativo;
  • possono essere gestite senza difficoltà, in quanto le modifiche dei metadati possono essere propagate a tutti i job che ne fanno uso.

1. Creazione di una definizione di metadati per un file delimitato

  1. Nel Project Repository (Repository progetti), fai clic su Metadata (Metadati), fai clic con il pulsante destro del mouse su File delimited (File delimitato), quindi seleziona Create file delimited (Crea file delimitato).
  2. Nel campo Name (Nome) della procedura guidata, digita movies, quindi fai clic su Next (Avanti).
  3. Per specificare un file campione, fai clic su Browse (Sfoglia) accanto al campo File, seleziona il file moviesSorted dal disco locale e fai clic su Open (Apri). Il file viene visualizzato nella sezione File Viewer (Visualizzatore file) della procedura guidata.
  4. Per definire le impostazioni relative al tipo di proprietà, fai clic su Next (Avanti). Nella finestra che viene visualizzata, puoi definire impostazioni quali modalità di lettura del file, numero di righe, se applicabile, da saltare durante la lettura del file e numero massimo di righe da elaborare.
  5. Per indicare che la prima riga del file corrisponde ai nomi di colonne e che deve essere ignorata, nella scheda Preview (Anteprima), seleziona Set heading row as column names (Imposta riga di intestazione come nomi colonne). Se si effettua questa selezione, la casella di controllo Header (Intestazione) viene automaticamente selezionata e impostata sul valore 1.
  6. Per aggiornare la schermata in modo che rifletta la modifica apportata, fai clic sul pulsante Refresh Preview (Aggiorna anteprima), quindi su Next (Avanti).
  7. Nel campo Name (Nome), digita moviesSchema. Se la prima riga del file campione include nomi di colonne, questi verranno visualizzati. In caso contrario, le colonne verranno visualizzate come Column 0, Column 1 e così via e sarà necessario rinominarle manualmente.

    Durante l’elaborazione di un’ipotesi di schema, Talend legge soltanto le prime cinquanta righe del file campione e, sulla base dei dati contenuti, definisce i tipi di colonne e la lunghezza. Convalida le informazioni visualizzate oppure correggile, se necessario.
    .

  8. Aggiorna lo schema visualizzato per riflettere la struttura del file campione. In questo caso, modifica la lunghezza dei campi del titolo e dell’URL portandola a 100 e 250 rispettivamente. Inoltre, cambia il tipo del campo directorID in “integer” (intero). Fai clic su Finish (Fine).

In corrispondenza di Metadata (Metadati), nell’area Project Repository (Repository progetti), la voce movies 0.1 è visualizzata con le proprietà del file. In corrispondenza di movies 0.1, è visualizzato lo schema del file di metadati, moviesSchema.

Se devi modificare il tipo di proprietà o lo schema, fai clic con il pulsante destro del mouse sul componente nel Project Repository (Repository progetti) e seleziona Edit File Delimited (Modifica file delimitato) o Edit Schema (Modifica schema).

2. Uso dei metadati per configurare un componente

  1. Crea un nuovo job e chiamalo useMetadata, quindi aggiungi al lavoro un componente tFileInputDelimited.
    Nota: per impostazione predefinita, il componente viene configurato con i parametri “Built-in”.
  2. Nel campo Property Type (Tipo di proprietà) della vista Component (Componente), seleziona Repository.
  3. Per selezionare i metadati, fai clic su […] accanto al campo visualizzato, seleziona movies 0.1, quindi fai clic su OK.

    Il set di parametri dei metadati viene visualizzato. Inoltre, tutti i campi sono visualizzati in grigio, a indicare che appartengono ai metadati e non al componente.

    Per modificare lo schema, fai clic su […] accanto a Edit schema (Modifica schema) e seleziona un’opzione per:
    – modificare la proprietà in “Built-in” e cambiare lo schema di questo specifico componente;
    – aggiornare la connessione del repository per modificare lo schema dei metadati nel repository.
    .

  4. Per visualizzare lo schema, fai clic su […] accanto a Edit schema (Modifica schema) e seleziona View schema (Visualizza schema).

3. Uso dei metadati per configurare un secondo componente

Un metodo alternativo per utilizzare i metadati consiste nel trascinarli direttamente dal Project Repository (Repository progetti) nella scheda Designer (Progettazione) e selezionare il componente tFileInputDelimited per utilizzarli.

Talend consente di creare metadati sulla base di diversi parametri, quali database, connessioni SAP e vari tipi di file.

Nota: per illustrare questa procedura, verrà utilizzato MySQL Workbench 6.3 CE unitamente a un set di dati test denominato talend_dq. Puoi procedere provando con una configurazione simile oppure con i tuoi database.

4. Creazione di una connessione a un database per poi salvarla come metadati

  1. Nell’area Project Repository (Repository progetti), fai clic su Metadata (Metadati), fai clic con il pulsante destro del mouse su Db Connections (Connessioni DB), quindi seleziona Create connection (Crea connessione).
  2. Nel campo Name (Nome) della procedura guidata di connessione database, digita MySql, quindi fai clic su Next (Avanti).
  3. Nel campo DB type (Tipo DB), seleziona MySQL.
  4. Inserisci i parametri della connessione.
  5. Per verificare la connessione al database, fai clic su Check (Verifica).
  6. Per chiudere la procedura guidata e creare i metadati, fai clic su Finish (Fine).
  7. Per recuperare automaticamente tutti gli schemi delle tabelle, fai clic con il pulsante destro del mouse sui metadati MySql 0.1 nel Project Repository (Repository progetti), quindi seleziona Retrieve Schema (Recupera schema).
  8. Fai clic su Next (Avanti). Il database connesso viene visualizzato.
  9. Per selezionare tutte le tabelle e le viste, seleziona la casella di controllo a sinistra del nome del database e fai clic su Next (Avanti). Viene visualizzato il database insieme a tutte le tabelle e i dettagli.

Tutti gli schemi delle tabelle sono stati importati come metadati e possono essere utilizzati.

Tabelle e viste vengono visualizzate in corrispondenza della connessione mysql 0.1 nel repository dei progetti. Per visualizzare un campo all’interno di una tabella, fai clic sulla tabella.

5. Lettura di una tabella di database utilizzando i metadati

  1. Per leggere una tabella nell’elenco, seleziona la tabella e trascinala in Job Designer (Progettazione job).
  2. Nella finestra Components (Componenti), fai clic su tMySqlInput, quindi su OK.
    Viene creato un componente tMysqlInput con le informazioni del repository. Viene utilizzata la connessione MySql 0.1 e per lo schema vengono utilizzate le informazioni del repository acquisite dalla tabella dei metadati tdq_values.

    Inoltre, Talend genera la query SQL e la invia alla tabella tdq_values.
    .

  3. Per visualizzare i dati della tabella, aggiungi il componente tLogRow e collega il componente tdq_values al componente tLogRow_1.
  4. Per eseguire il job, fai clic su Run (Esegui) nella vista Run (Esegui). I dati della tabella tdq_values vengono visualizzati.