Includere e trasformare i dati mediante un flusso di dati

Un flusso di dati è un diagramma logico che rappresenta il flusso di dati dagli asset dati di origine, ad esempio un database o un file sequenziale, agli asset dati di destinazione, ad esempio un data lake o un data warehouse.

Il flusso di dati dall'origine alla destinazione può subire una serie di trasformazioni per aggregare, pulire e modellare i dati. I data engineer e gli sviluppatori ETL possono quindi analizzare o raccogliere insight e utilizzare tali dati per prendere decisioni aziendali efficaci.

In questa esercitazione:

  1. Creare un progetto in cui è possibile salvare il flusso di dati.
  2. Aggiungere gli operatori di origine e selezionare le entità dati da utilizzare nel flusso di dati.
  3. Utilizza gli operatori di modellazione e applica le trasformazioni.
  4. Identificare l'asset dati di destinazione per il caricamento dei dati.

Informazioni preliminari

Per includere e trasformare i dati utilizzando un flusso di dati, è necessario disporre dei seguenti elementi:

  • Consente di accedere a un'area di lavoro di Data Integration. Vedere Connetti a Data Integration.
  • Asset dati di origine e target creati.
  • L'autorizzazione PAR_MANAGE abilitata nel bucket di staging.

    allow any-user to manage buckets in compartment <compartment-name> where ALL {request.principal.type = 'disworkspace', request.principal.id = '<workspace-ocid>', request.permission = 'PAR_MANAGE'}

    Gli Autonomous Database utilizzano lo storage degli oggetti per il posizionamento nell'area intermedia dei dati e richiedono richieste preautenticate.

1. Creazione di un progetto e di un flusso di dati

In Oracle Cloud Infrastructure Data Integration, i flussi di dati e i task possono essere creati solo in un progetto o in una cartella.

Per creare un progetto e un flusso di dati:

  1. Nella Home page dell'area di lavoro, selezionare Progetti.
    Se è necessaria assistenza per trovare l'area di lavoro Integrazione dati in cui lavorare, vedere Creazione e accesso a un'area di lavoro.
  2. Nella pagina Progetti selezionare Crea progetto, quindi selezionare Crea nuovo.
  3. Nella pagina Crea progetto immettere DI_Lab per Nome, quindi selezionare Crea.

    Dopo aver creato un progetto, è possibile creare un flusso di dati per includere dati da due file di origine, contenenti informazioni sui clienti (CUSTOMERS.json) e sugli ordini (REVENUE.csv).

  4. Nella pagina dei dettagli del progetto DI_Lab, selezionare Flussi di dati nel sottomenu a sinistra.
    Se si è nella pagina Progetti, selezionare DI_Lab per aprire la pagina dei dettagli del progetto.
  5. Selezionare Crea flusso dati.

    Il designer del flusso di dati viene aperto in una nuova scheda.

  6. Nel pannello Proprietà, in Nome, immettere Load Customers and Revenue Data.

    Il valore Identificativo viene generato automaticamente in base al valore immesso per il nome del flusso di dati. È possibile modificare il valore generato, ma dopo aver salvato il flusso di dati non è consentito aggiornare l'identificativo.

  7. Selezionare Crea.

    Il designer rimane aperto per continuare a modificare.

2. Aggiunta di operatori di origine

È possibile aggiungere operatori di origine per identificare le entità dati da utilizzare per il flusso di dati. Un'entità dati rappresenta una tabella di database in questa esercitazione.

  1. Dal pannello Operatori, rilasciare un operatore Origine sull'area di creazione.
  2. Nell'area di creazione selezionare SOURCE_1, se non è già selezionata.

    Nel pannello Properties vengono visualizzati i dettagli relativi all'operatore con stato attivo.

  3. Nella scheda Dettagli del pannello Proprietà, fare clic su Seleziona accanto a ciascuna delle seguenti opzioni per effettuare le selezioni.
    • Per Asset dati, selezionare Data_Lake.
    • Per Connessione, selezionare Connessione predefinita.
    • Per Schema, selezionare il compartimento, quindi il bucket. Ai fini di questa esercitazione, lo storage degli oggetti funge da asset dati di origine. Per questo motivo, selezionare il bucket qui.
    • Per Entità dati, selezionare Sfoglia per nome, quindi CUSTOMERS.json. Per Tipo file, selezionare JSON.
  4. Quando si completano le selezioni per SOURCE_1, il nome dell'operatore diventa CUSTOMERS_JSON, in base alla selezione dell'entità dati. Nel campo Identificativo, rinominare l'operatore di origine in CUSTOMERS.
  5. Ripetere i passi da 1 a 3 per aggiungere un secondo operatore Origine con i seguenti valori:
    • Per Asset dati, selezionare Data_Lake.
    • Per Connessione, selezionare Connessione predefinita.
    • Per Schema, selezionare il compartimento, quindi il bucket. Ai fini di questa esercitazione, lo storage degli oggetti funge da asset dati di origine. Per questo motivo, selezionare il bucket qui.
    • Per Entità dati, selezionare REVENUE.csv, quindi selezionare CSV per il tipo di file. Accettare i valori predefiniti per gli elementi rimanenti.
  6. Quando si completano le selezioni per il secondo operatore di origine, il nome dell'operatore diventa REVENUE_CSV, in base alla selezione dell'entità dati. Nel campo Identificativo, rinominare l'operatore di origine in REVENUE.
  7. (Facoltativo) Selezionare Assegna parametro per impedire che i dettagli di origine vengano associati al codice compilato quando si pubblica il flusso dati.
  8. (Facoltativo) Nella scheda Attributi è possibile visualizzare gli attributi dell'entità dati e applicare regole di esclusione o ridenominazione agli attributi dal menu Azioni corrispondente (tre punti).
    È inoltre possibile utilizzare l'icona del filtro nella colonna Nome o Tipo per applicare uno o più filtri agli attributi da escludere.
  9. (Facoltativo) Nella scheda Dati è possibile visualizzare un campionamento dei dati dall'entità dati di origine e applicare le trasformazioni ai dati oppure selezionare gli attributi per visualizzare un profilo dati.
  10. (Facoltativo) Nella scheda Convalida è possibile verificare la presenza di avvertenze o errori nella configurazione degli operatori di origine.
  11. Per salvare il flusso di dati e continuare la modifica, selezionare Salva.

3. Filtro e trasformazione dei dati

Filtro dei dati

L'operatore Filter produce un subset di dati da un operatore a monte in base a una condizione.

  1. Nel pannello Operatori, rilasciare un operatore Filtro sull'area di creazione.
  2. Connettere REVENUE a FILTER_1:
    • Posizionare il cursore su REVENUE.
    • Trascinare il cerchio del connettore sul lato di REVENUE.

      Connettore per operatori

    • Rilasciare il cerchio del connettore su FILTER_1.

      Azione di trascinamento della selezione tra connettori

  3. Selezionare FILTER_1.
  4. Nel pannello Proprietà, selezionare Crea accanto a Condizione filtro.
  5. Nel pannello Crea condizione filtro, immettere STA nel campo Cerca per nome.
  6. Fare doppio clic o rilasciare ORDER_STATUS per aggiungerlo all'editor delle condizioni di filtro.
  7. Nell'editor delle condizioni immettere ='1-Booked', quindi la condizione è la seguente:

    FILTER_1.REVENUE_CSV.ORDER_STATUS='1-Booked'

    Nota

    Per evitare problemi con i preventivi, non copiare e incollare.
  8. Selezionare Crea.
  9. Dal pannello Operatori, rilasciare un operatore Filtro sull'area di creazione, posizionandolo dopo Clienti.
  10. Connettere i CLIENTI a FILTER_2:
    • Posizionare il cursore su CUSTOMERS.
    • Trascinare il cerchio del connettore sul lato destro di CUSTOMERS.
    • Rilasciare il cerchio del connettore su FILTER_2.
  11. Nel pannello Proprietà per FILTER_2, selezionare Crea accanto a Condizione filtro.
  12. Nel pannello Crea condizione filtro, immettere COU nel campo Cerca per nome.
  13. Fare doppio clic su COUNTRY_CODE per aggiungerlo all'editor di condizioni.
  14. Immettere ='US' in modo che la condizione sia la seguente:

    FILTER_2.CUSTOMERS_JSON.COUNTRY_CODE='US'

  15. Selezionare Crea.
  16. Per salvare il flusso di dati e continuare la modifica, selezionare Salva.
Trasformazione dei dati

Utilizzando Data Xplorer, è possibile esplorare un esempio di dati, rivedere i metadati di profiling e applicare le trasformazioni nella scheda Dati del pannello Proprietà. Gli operatori di espressione vengono aggiunti allo sfondo per ogni trasformazione applicata.

  1. Nel pannello Proprietà per FILTER_2, selezionare la scheda Dati.
    Vengono visualizzati tutti gli attributi e le righe di dati. È possibile utilizzare la barra di scorrimento verticale per scorrere le righe e la barra di scorrimento orizzontale per scorrere gli attributi.
  2. Nel campo Cerca per pattern, immettere STATE*.
    Il numero di attributi nella tabella viene filtrato. Vengono visualizzati solo gli attributi che corrispondono al pattern.
  3. Selezionare il menu Trasformazioni (menu trasformazioni) per FILTER_2.CUSTOMERS_JSON.STATE_PROVINCE, quindi selezionare Cambia maiuscole/minuscole.

    Icona del menu Trasformazione

  4. Nella finestra di dialogo Modifica maiuscole/minuscole, nel menu Tipo, selezionare Upper.
  5. Non selezionare la casella di controllo Mantieni attributi di origine.
  6. Lasciare il nome così com'è.
  7. Selezionare Applica.

    Un operatore di espressione viene aggiunto al flusso di dati. Nel pannello Proprietà, la scheda Details è ora selezionata, con i dettagli dell'operatore dell'espressione.

    Nella tabella Espressioni è possibile visualizzare l'espressione generata, UPPER(EXPRESSION_1.CUSTOMERS_JSON.STATE_PROVINCE).

  8. Nel pannello Proprietà per l'operatore di espressione, modificare il nome nel campo Identificativo in CHANGE_CASE.
  9. Selezionare la scheda Dati, quindi utilizzare la barra di scorrimento orizzontale per scorrere fino alla fine.

    CHANGE_CASE.STATE_PROVINCE viene aggiunto alla fine del set di dati. È possibile visualizzare l'anteprima dei dati trasformati per CHANGE_CASE.STATE_PROVINCE nella scheda Dati.

  10. Dal pannello Operatori, rilasciare l'operatore Espressione sull'area di creazione, posizionandolo dopo CHANGE_CASE.
  11. Connettere CHANGE_CASE al nuovo operatore EXPRESSION_1.
  12. Nel pannello Proprietà per EXPRESSION_1, selezionare Aggiungi espressione nella tabella Espressioni.
  13. Nel pannello Aggiungi espressione:
    1. Nel campo Identificativo, rinominare l'espressione in FULLNAME.
    2. Mantenere Tipo di dati come VARCHAR.
    3. Impostare Lunghezza su 200.
    4. In Costruzione guidata espressione passare dalla lista In entrata alla lista Funzioni.
    5. Nel campo Cerca per nome, immettere CON. Quindi, trovare CONCAT in String.
    6. Immettere CONCAT(CONCAT(EXPRESSION_1.CUSTOMERS_JSON.FIRST_NAME, ' '),EXPRESSION_1.CUSTOMERS_JSON.LAST_NAME)

      È inoltre possibile evidenziare i segnaposto di una funzione e quindi fare doppio clic o rilasciare gli attributi dall'elenco in entrata per creare un'espressione.

    7. Selezionare Aggiungi.

    L'espressione CONCAT viene ora elencata nella tabella Espressioni per l'operatore EXPRESSION_1. È possibile aggiungere tutte le espressioni desiderate.

  14. Per salvare il flusso di dati e continuare la modifica, selezionare Salva.

4. Join di dati

Dopo aver applicato filtri e trasformazioni, è possibile unire le entità dati di origine utilizzando un identificativo cliente univoco e quindi caricare i dati in un'entità dati di destinazione.

  1. Per unire i dati di EXPRESSION_1 con quelli di FILTER_1, rilasciare un operatore Join dal pannello Operatori sull'area di creazione, posizionandolo dopo EXPRESSION_1 e FILTER_1.
  2. Connetti EXPRESSION_1 a JOIN_1. Collegare quindi FILTER_1 a JOIN_1.
  3. Se è selezionato JOIN_1, nella scheda Dettagli del pannello Proprietà selezionare Crea accanto a Condizione di join.
  4. Nel pannello Crea condizione di join, immettere CUST nel campo Cerca per nome.
    Si desidera unire le entità utilizzando CUST_ID e CUST_KEY.
  5. Nell'editor immettere JOIN_1_1.CUSTOMERS_JSON.CUST_ID=JOIN_1_2.REVENUE_CSV.CUST_KEY.
  6. Selezionare Crea.
  7. Per salvare il flusso di dati e continuare la modifica, selezionare Salva.

5. Aggiunta di un operatore di destinazione

  1. Dal pannello Operatori, rilasciare un operatore Destinazione sull'area di creazione.
  2. Connettere JOIN_1 a TARGET_1.
  3. Selezionare TARGET_1 nell'area di creazione, se non è già selezionata.
  4. Nella scheda Dettagli del pannello Proprietà, non selezionare la casella di controllo Crea nuova entità dati.
  5. Fare clic su Seleziona per ciascuna delle seguenti opzioni per effettuare le selezioni per un'entità dati:
    • Per Asset dati, selezionare Data_Warehouse.
    • Per Connessione, selezionare Connessione predefinita.
    • Per Schema, selezionare BETA.
    • Per Entità dati, selezionare CUSTOMERS_TARGET.
  6. Per la posizione intermedia, selezionare l'asset dati Data Lake, la relativa connessione predefinita e il compartimento. Quindi, per Schema, selezionare il bucket di storage degli oggetti utilizzato per importare i dati di esempio.
  7. Lasciare il valore Strategia di integrazione come Inserisci.
  8. Per rivedere il mapping Attributi, selezionare la scheda Mappa.

    Per impostazione predefinita, tutti gli attributi vengono mappati in base al nome.

    Ad esempio, CUST_ID da JOIN_1 viene mappato a CUST_ID nell'entità dati di destinazione.

  9. Per mappare manualmente gli attributi non ancora mappati, selezionare il menu Tutti nella tabella Attributi di destinazione, quindi selezionare Attributi non mappati.

    È possibile fare lo stesso nella tabella Attributi di origine (per i campi in entrata).

  10. Rilasciare FULLNAME da Attributi di origine a FULL_NAME in Attributi di destinazione.
  11. Nella tabella Attributi di destinazione selezionare Attributi non mappati, quindi selezionare Tutti.

    Tutti gli attributi sono ora mappati.

  12. (Facoltativo) Selezionare Azioni per rivedere le varie opzioni di mapping disponibili.
  13. (Facoltativo) Selezionare Visualizza regole per visualizzare le regole applicate.
  14. Per salvare il flusso di dati e uscire dal designer, selezionare Salva e chiudi.