Una giornata con uno sviluppatore che si occupa di integrazione dati: Come creare il tuo primo job in Talend Studio [Parte 2]

Questo video spiega con un semplice esempio come creare il tuo primo job in Talend Studio. Le funzioni più avanzate sono descritte nelle altre parti della serie:

In questa puntata di Una giornata con uno sviluppatore che si occupa di integrazione dati lavoreremo con un data warehouse di rating dei film, per acquisire il rating medio di ciascun film per stato. A tale scopo:

  1. Uniremo due tabelle del nostro data warehouse,
  2. Calcoleremo il rating medio per stato utilizzando un componente aggregato; e
  3. Lo salveremo in una tabella separata nel nostro data warehouse.

1. Unione di tabelle

Facciamo clic con il pulsante destro del mouse nella struttura del repository Job Designs (Progetti job) e selezioniamo Create Job (Crea job). Inserisco il nome e una breve descrizione dello scopo.

job di integrazione dati

Dal repository Metadata (Metadati) importiamo due definizioni di tabelle di database che contengono i dati sorgente che ci servono. Qui abbiamo una tabella dei fatti contenente i dati di rating e una tabella delle dimensioni degli utenti comprendente informazioni sullo stato.

Le trascino nella nostra area di progettazione. Dato che si tratta di definizioni di tabelle di metadati generiche, quando le trascino nell'area di progettazione devo specificarle come componenti sorgente MysqlInput.

creazione di un job di dati

A questo punto, per unire questi due componenti sorgente abbiamo bisogno di un tMap. Posso andare nella tavolozza dei componenti sulla destra e cercare quello che desidero oppure fare clic all'interno dell'area di progettazione, iniziare a digitare e selezionare il componente per importarlo nel flusso del mio job.

Connettiamo i dati utilizzando il componente tMap. Posso fare clic con il pulsante destro del mouse e connetterli utilizzando la funzione Row (Riga) oppure posso semplicemente trascinare ed estendere i connettori utilizzando le icone accanto ai componenti. Mentre procedo assegno un'etichetta ai connettori facendo lentamente un doppio clic su ogni etichetta esistente. Posso anche rinominare i componenti. In questo modo sarà più facile identificare le tabelle quando configuro il tMap dopo avere creato il flusso del mio job.

2. Utilizzo di un componente aggregato

Il terzo componente che ci serve è un aggregatore, che calcolerà il rating medio per stato.

  1. Facciamo nuovamente clic nell'area di progettazione e cerchiamo "Aggregate" (Aggrega) per individuare e selezionare il nuovo componente.
  2. Connettiamolo al tMap e assegniamo un nome all'output.

3. Definizione di una tabella di destinazione

L'ultimo elemento che ci occorre è una tabella di destinazione nella quale raccogliere tutti i risultati. Importiamo i metadati per la nostra tabella di destinazione, specifichiamo la tabella come componente MysqlOutput e connettiamola al resto del nostro flusso.

Configurazione dei componenti

A questo punto abbiamo posizionato e connesso tutti gli elementi del job; ora dobbiamo configurare i componenti per gestire correttamente il flusso di dati.

Configurazione del tMap

Per prima cosa configureremo il tMap unendo Ratings_In a lkp_States.

  1. Colleghiamo i due set di dati trascinando l'ID utente dalla tabella Ratings_In nel campo ID della tabella lkp_States.
  2. Una volta unite le tabelle, selezioniamo i campi Movie_Id e Rating dalla tabella Ratings_In e il campo State dalla tabella lkp_States e li trasciniamo nella tabella Ag_Output. In questo modo creiamo il set di dati di output che guiderà il resto del flusso.
  3. Facciamo clic su OK.

Configurazione dell'aggregatore

Ora dobbiamo configurare l'aggregatore. Per prima cosa devo confermare che lo schema dell'aggregatore corrisponde agli output del componente definiti. Dobbiamo assicurarci che le colonne Movie_Id e State vengano spostate nell'output del nostro aggregatore e che sia disponibile una colonna nella quale raccogliere i dati che stiamo aggregando, etichettata Average_Rating.

Dato che rappresenta una media calcolata, questa colonna deve tenere conto dei decimali, quindi i dati devono essere di tipo float, con una lunghezza di 5 e una precisione di 3.

job di integrazione dati

Così sembra perfetto, quindi faccio clic su OK.

Dopo avere impostato lo schema, possiamo configurare l'aggregatore per calcolare il nostro rating medio:

  1. Raggruppiamo per Movie_Id e State e, per le nostre operazioni, impostiamo la colonna Output come Average_Rating, ovvero la colonna che abbiamo appena confermato nel nostro schema di output.
  2. Impostiamo la funzione su avg per calcolare la media del campo Rating.
  3. Ho già mappato la mia sorgente di destinazione nella tabella di destinazione MySQL. Quindi questo job è pronto per essere eseguito.

Documentiamo il flusso con un titolo. Seleziono il mio flusso, vado alla scheda Components (Componenti), seleziono il titolo Show subjob (Mostra sotto-job) e lo chiamo "Load Average Rating by State" (Caricamento rating medio per stato).

Esecuzione del primo job

Eseguiamo questo job. Posso andare nella scheda Run (Esegui) nella tavolozza di progettazione e completare un'esecuzione di base. Il job è stato eseguito senza problemi.

Per informazioni complete su come creare il primo job in Studio, guarda il video qui sopra. Nella prossima puntata vi spiegherò come eseguire i processi o job e le operazioni di test e debug.

| Ultimo aggiornamento: agosto 7th, 2019