Share via


Modulo 2: Trasformare i dati con un flusso di dati in Data Factory

Questo modulo richiede circa 25 minuti per creare un flusso di dati, applicare trasformazioni e spostare i dati non elaborati dalla tabella Bronze in una tabella Gold Lakehouse.

Con i dati non elaborati caricati nella tabella Bronze Lakehouse dell'ultimo modulo, è ora possibile prepararli e arricchire i dati combinandolo con un'altra tabella che contiene sconti per ogni fornitore e i relativi viaggi durante un determinato giorno. Questa tabella Gold Lakehouse finale viene caricata e pronta per il consumo.

I passaggi generali del flusso di dati sono i seguenti:

  • Ottenere dati non elaborati dalla tabella Lakehouse creata dal attività Copy nel modulo 1: Creare una pipeline con Data Factory.
  • Trasformare i dati importati dalla tabella Lakehouse.
  • Connessione a un file CSV contenente i dati sugli sconti.
  • Trasformare i dati degli sconti.
  • Combinare viaggi e dati sugli sconti.
  • Caricare la query di output nella tabella Gold Lakehouse.

Ottenere dati da una tabella Lakehouse

  1. Nella barra laterale selezionare Crea e quindi Dataflow Gen2 per creare un nuovo flusso di dati gen2. Screenshot showing the Fabric Create page with the Dataflow Gen2 button highlighted.

  2. Dal nuovo menu del flusso di dati selezionare Recupera dati e quindi Altro.

    Screenshot showing the Dataflow menu with Get data button highlighted and the More... option highlighted from its menu.

  3. Cercare e selezionare il connettore Lakehouse .

    Screenshot showing the selection of the Lakehouse data source from the Choose data source menu.

  4. Viene visualizzata la finestra di dialogo Connessione all'origine dati e viene creata automaticamente una nuova connessione in base all'utente attualmente connesso. Seleziona Avanti.

    Screenshot showing the configuration of the data source settings for your new Lakehouse with your current signed in user, and the Next button selected.

  5. Viene visualizzata la finestra di dialogo Scegli dati . Usare il riquadro di spostamento per trovare il Lakehouse creato per la destinazione nel modulo precedente e selezionare la tabella dati Tutorial_Lakehouse .

    Screenshot showing the Lakehouse browser with the workspace, lakehouse, and table created with the Copy activity in module 1.

  6. (Facoltativo) Dopo aver popolato l'area di disegno con i dati, è possibile impostare le informazioni sul profilo di colonna, in quanto ciò è utile per la profilatura dei dati. È possibile applicare la trasformazione corretta e impostare come destinazione i valori dei dati corretti in base a esso.

    A tale scopo, selezionare Opzioni nel riquadro della barra multifunzione, quindi selezionare le prime tre opzioni in Profilo colonna e quindi selezionare OK.

    Screenshot showing the column options selection for your data.

Trasformare i dati importati da Lakehouse

  1. Selezionare l'icona del tipo di dati nell'intestazione di colonna della seconda colonna, IpepPickupDatetime, per visualizzare un menu a discesa e selezionare il tipo di dati dal menu per convertire la colonna dal tipo Data/Ora a Data . Screenshot showing the selection of the Date data type for the IpepPickupDatetime column.

  2. (Facoltativo)Nella scheda Home della barra multifunzione selezionare l'opzione Scegli colonne dal gruppo Gestisci colonne .

    Screenshot showing the Choose columns button on the Home tab of the dataflow editor.

  3. (Facoltativo) Nella finestra di dialogo Scegli colonne deselezionare alcune colonne elencate qui, quindi selezionare OK.

    • lpepDropoffDatetime
    • puLocationId
    • doLocationId
    • pickupLatitude
    • dropoffLongitude
    • rateCodeID

    Screenshot showing the Choose columns dialog with the identified columns deselected.

  4. Selezionare il filtro e il menu a discesa della colonna storeAndFwdFlag . (Se viene visualizzato un avviso L'elenco potrebbe essere incompleto, selezionare Carica altro per visualizzare tutti i dati.

    Screenshot showing the filter and sort dialog for the column.

  5. Selezionare "Y" per visualizzare solo le righe in cui è stato applicato uno sconto e quindi selezionare OK.

    Screenshot showing the values filter with only 'Y' selected.

  6. Selezionare il menu a discesa Ordinamento e filtro della colonna IpepPickupDatetime , quindi selezionare Filtri data e scegliere il filtro Tra... fornito per i tipi data e data/ora.

    Screenshot showing the selection of the Date filters option in the column sort and format dropdown.

  7. Nella finestra di dialogo Filtra righe selezionare le date tra il 1° gennaio 2015 e il 31 gennaio 2015, quindi selezionare OK.

    Screenshot showing the selection of the dates in January 2015.

Connessione a un file CSV contenente i dati di sconto

Ora, con i dati dei viaggi sul posto, si vogliono caricare i dati che contengono i rispettivi sconti per ogni giorno e VendorID e preparare i dati prima di combinarlo con i dati delle corse.

  1. Nella scheda Home del menu dell'editor del flusso di dati selezionare l'opzione Recupera dati e quindi scegliere Testo/CSV.

    Screenshot showing the selection of the Get data menu from the Home tab, with Text/CSV highlighted.

  2. Nella finestra di dialogo Connessione all'origine dati specificare i dettagli seguenti:

    • Percorso file o URL - https://raw.githubusercontent.com/ekote/azure-architect/master/Generated-NYC-Taxi-Green-Discounts.csv
    • Tipo di autenticazione - Anonimo

    Quindi seleziona Avanti.

    Screenshot showing the Text/CSV settings for the connection.

  3. Nella finestra di dialogo Anteprima dati file selezionare Crea.

    Screenshot showing the Preview file data dialog with the Create button highlighted.

Trasformare i dati dello sconto

  1. Esaminando i dati, le intestazioni appaiono nella prima riga. Alzare di livello le intestazioni selezionando il menu di scelta rapida della tabella in alto a sinistra nell'area della griglia di anteprima per selezionare Usa prima riga come intestazioni.

    Screenshot showing the selection of the Use first row as headers option from the table context menu.

    Nota

    Dopo aver alzato di livello le intestazioni, è possibile visualizzare un nuovo passaggio aggiunto al riquadro Passaggi applicati nella parte superiore dell'editor del flusso di dati ai tipi di dati delle colonne.

  2. Fare clic con il pulsante destro del mouse sulla colonna VendorID e scegliere l'opzione Unpivot other columns dal menu di scelta rapida visualizzato. In questo modo è possibile trasformare le colonne in coppie attributo-valore, in cui le colonne diventano righe.

    Screenshot showing the context menu for the VendorID column with the Unpivot other columns selection highlighted.

  3. Con la tabella senza pivot, rinominare le colonne Attributo e Valore facendo doppio clic su di esse e impostando Attributo su Data e Valore su Sconto.

    Screenshot showing the table columns after renaming Attribute to Date and Value to Discount.

  4. Modificare il tipo di dati della colonna Data selezionando il menu tipo di dati a sinistra del nome della colonna e scegliendo Data.

    Screenshot showing the selection of the Date data type for the Date column.

  5. Selezionare la colonna Sconto e quindi selezionare la scheda Trasforma nel menu. Selezionare Colonna Numero, quindi selezionare Trasformazioni numeriche standard dal sottomenu e scegliere Divide.

    Screenshot showing the selection of the Divide option to transform data in the Discount column.

  6. Nella finestra di dialogo Divide immettere il valore 100.

    Screenshot showing the Divide dialog with the value 100 entered and the OK button highlighted.

Combinare i viaggi e i dati sugli sconti

Il passaggio successivo consiste nel combinare entrambe le tabelle in una singola tabella con lo sconto che deve essere applicato al viaggio e il totale rettificato.

  1. Prima di tutto, attivare o disattivare il pulsante Visualizzazione diagramma per visualizzare entrambe le query.

    Screenshot showing the Diagram view toggle button with both queries created in this tutorial displayed.

  2. Selezionare la query nyc_taxi e nella scheda Home selezionare il menu Combina e scegliere Unire query, quindi Unire query come nuovo.

    Screenshot showing the Merge queries as new selection for the nyc_taxi query.

  3. Nella finestra di dialogo Unione selezionare Generated-NYC-Taxi-Green-Discount dalla tabella A destra per l'elenco a discesa Merge e quindi selezionare l'icona "lampadina" in alto a destra della finestra di dialogo per visualizzare il mapping suggerito delle colonne tra le due tabelle.

    Screenshot showing the configuration of the Merge dialog with suggested column mappings displayed.

    Scegliere ognuno dei due mapping di colonna suggeriti, uno alla volta, mapping delle colonne VendorID e date di entrambe le tabelle. Quando vengono aggiunti entrambi i mapping, le intestazioni di colonna corrispondenti vengono evidenziate in ogni tabella.

  4. Viene visualizzato un messaggio che chiede di consentire la combinazione di dati da più origini dati per visualizzare i risultati. Selezionare OK nella finestra di dialogo Merge .

    Screenshot showing the request to approve combining data from multiple data sources, with the OK button highlighted.

  5. Nell'area della tabella verrà inizialmente visualizzato un avviso che indica che "La valutazione è stata annullata perché la combinazione di dati da più origini può rivelare dati da un'origine a un'altra. Selezionare Continua se la possibilità di rivelare i dati è ok". Selezionare Continua per visualizzare i dati combinati.

    Screenshot showing the warning about combining data from multiple data sources with the Continue button highlighted.

  6. Si noti che è stata creata una nuova query nella visualizzazione Diagramma che mostra la relazione della nuova query di merge con le due query create in precedenza. Esaminando il riquadro della tabella dell'editor, scorrere verso destra dell'elenco Colonne di query di merge per visualizzare una nuova colonna con valori di tabella. Si tratta della colonna "Generated NYC Taxi-Green-Discount" e il relativo tipo è [Table]. Nell'intestazione di colonna è presente un'icona con due frecce che si trovano in direzioni opposte, consentendo di selezionare le colonne dalla tabella. Deselezionare tutte le colonne ad eccezione di Discount e quindi selezionare OK.

    Screenshot showing the merged query with the column selection menu displayed for the newly generated column Generated-NYC-Taxi-Green-Discounts.

  7. Con il valore di sconto ora a livello di riga, è possibile creare una nuova colonna per calcolare l'importo totale dopo lo sconto. A tale scopo, selezionare la scheda Aggiungi colonna nella parte superiore dell'editor e scegliere Colonna personalizzata dal gruppo Generale .

    Screenshot showing the Add custom column button highlighted on the General section of the Add column tab.

  8. Nella finestra di dialogo Colonna personalizzata è possibile usare il linguaggio della formula di Power Query (noto anche come M) per definire la modalità di calcolo della nuova colonna. Immettere TotalAfterDiscount come Nome nuova colonna, selezionare Valuta per Tipo di dati e specificare l'espressione M seguente per la formula Colonna personalizzata:

    se [totalAmount] > 0 then [totalAmount] * ( 1 -[Discount] ) else [totalAmount]

    Selezionare OK.

    Screenshot showing the Custom column configuration screen with the New column name, Data type and Custom column formula highlighted.

  9. Selezionare la colonna TotalAfterDiscount appena creata e quindi selezionare la scheda Trasforma nella parte superiore della finestra dell'editor. Nel gruppo di colonne Numero selezionare l'elenco a discesa Arrotondamento e quindi scegliere Round....

    Screenshot showing the Round... option on the Transform tab of the editor window.

  10. Nella finestra di dialogo Arrotondamento immettere 2 per il numero di posizioni decimali e quindi selezionare OK.

    Screenshot showing the Round dialog with 2 for the number of decimal places and the OK button highlighted.

  11. Modificare il tipo di dati di IpepPickupDatetime da Date a Date/Time.

    Screenshot showing the selection of the Date/Time data type for the IpepPickupDatetime column.

  12. Espandere infine il riquadro Impostazioni query dal lato destro dell'editor, se non è già espanso e rinominare la query da Merge a Output.

    Screenshot showing the renaming of the query from Merge to Output.

Caricare la query di output in una tabella in Lakehouse

Con la query di output ora completamente preparata e con i dati pronti per l'output, è possibile definire la destinazione di output per la query.

  1. Selezionare la query unione output creata in precedenza. Selezionare quindi la scheda Home nell'editor e Aggiungi destinazione dati dal raggruppamento Query per selezionare una destinazione Lakehouse.

    Screenshot showing the Add data destination button with Lakehouse highlighted.

  2. Nella finestra di dialogo Connessione alla destinazione dati la connessione deve essere già selezionata. Selezionare Avanti per continuare.

  3. Nella finestra di dialogo Scegli destinazione di destinazione passare a Lakehouse in cui si desidera caricare i dati e denominare la nuova tabella nyc_taxi_with_discounts, quindi selezionare di nuovo Avanti .

    Screenshot showing the Choose destination target dialog with Table name nyc_taxi_with_discounts.

  4. Nella finestra di dialogo Scegli impostazioni di destinazione lasciare il metodo di aggiornamento sostituisci predefinito, verificare che le colonne siano mappate correttamente e selezionare Salva impostazioni.

    Screenshot showing the Choose destination settings dialog with the Save settings button highlighted.

  5. Tornare alla finestra dell'editor principale, verificare di visualizzare la destinazione di output nel riquadro Impostazioni query per la tabella Output e quindi selezionare Pubblica.

    Importante

    Quando viene creato il primo dataflow Gen2 in un'area di lavoro, viene eseguito il provisioning degli elementi Lakehouse e Warehouse insieme ai relativi modelli semantici e endpoint di analisi SQL correlati. Questi elementi sono condivisi da tutti i flussi di dati nell'area di lavoro e sono necessari per il funzionamento di Dataflow Gen2, non devono essere eliminati e non devono essere usati direttamente dagli utenti. Gli elementi sono un dettaglio di implementazione di Dataflow Gen2. Gli elementi non sono visibili nell'area di lavoro, ma potrebbero essere accessibili in altre esperienze, ad esempio le esperienze Notebook, SQL-endpoint, Lakehouse e Warehouse. È possibile riconoscere gli elementi in base al prefisso nel nome. Il prefisso degli elementi è "Flussi di datiStaging".

  6. (Facoltativo) Nella pagina dell'area di lavoro è possibile rinominare il flusso di dati selezionando i puntini di sospensione a destra del nome del flusso di dati visualizzato dopo aver selezionato la riga e scegliendo Proprietà.

    Screenshot showing the Properties option selected on the menu for a dataflow where it can be renamed.

  7. Selezionare l'icona di aggiornamento per il flusso di dati dopo aver selezionato la riga e, al termine, verrà visualizzata la nuova tabella Lakehouse creata come configurata nelle impostazioni destinazione dati.

    Screenshot showing the selection of the refresh button to refresh the dataflow.

  8. Controllare il lakehouse per visualizzare la nuova tabella caricata.

In questo secondo modulo dell'esercitazione end-to-end per la prima integrazione dei dati con Data Factory in Microsoft Fabric si è appreso come:

  • Creare un nuovo flusso di dati Gen2.
  • Importare e trasformare i dati di esempio.
  • Importare e trasformare dati di testo/CSV.
  • Unire dati da entrambe le origini dati in una nuova query.
  • Trasformare i dati e generare nuove colonne in una query.
  • Configurare un'origine di destinazione di output per una query.
  • Rinominare e aggiornare il nuovo flusso di dati.

Continuare con la sezione successiva per integrare la pipeline di dati.