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.
La procedura generale nel flusso di dati è la seguente:
- 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.
- Connettersi a un file CSV contenente i dati degli 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
Nella barra laterale selezionare Crea e quindi Dataflow Gen2 per creare un nuovo flusso di dati gen2.
Dal nuovo menu del flusso di dati selezionare Recupera dati e quindi Altro….
Cercare e selezionare il connettore Lakehouse.
Viene visualizzata la finestra di dialogo Connetti all'origine dati e viene creata automaticamente una nuova connessione in base all'utente attualmente connesso. Selezionare Avanti.
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.
(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 Profilocolonna e quindi selezionare OK.
Trasformare i dati importati da Lakehouse
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.
(Facoltativo) Nella scheda Home della barra multifunzione selezionare l'opzione Scegli colonne dal gruppo Gestisci colonne.
(Facoltativo) Nella finestra di dialogo Scegli colonne deselezionare alcune colonne elencate qui, quindi selezionare OK.
- lpepDropoffDatetime
- puLocationId
- doLocationId
- pickupLatitude
- dropoffLongitude
- rateCodeID
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.)
Selezionare "Y" per visualizzare solo le righe in cui è stato applicato uno sconto e quindi selezionare OK.
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.
Nella finestra di dialogo Filtra righe selezionare le date tra il 1° gennaio 2015 e il 31 gennaio 2015, quindi selezionare OK.
Connettersi 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.
Nella scheda Home del menu dell'editor del flusso di dati selezionare l'opzione Recupera dati e quindi scegliere Testo/CSV.
Nella finestra di dialogo Connetti 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: Anonima
Quindi seleziona Avanti.
- Percorso file o URL -
Nella finestra di dialogo Anteprima dati file selezionare Crea.
Trasformare i dati dello sconto
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.
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.
Fare clic con il pulsante destro del mouse sulla colonna VendorID e scegliere l'opzione Trasforma tramite UnPivot altre colonne dal menu di scelta rapida visualizzato. In questo modo è possibile trasformare le colonne in coppie attributo-valore, in cui le colonne diventano righe.
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.
Modificare il tipo di dati della colonna Data selezionando il menu tipo di dati a sinistra del nome della colonna e scegliendo Data.
Selezionare la colonna Sconto e quindi selezionare la scheda Trasforma nel menu. Selezionare Colonna Numero, quindi selezionare Trasformazioni numeriche standard dal sottomenu e scegliere Dividi.
Nella finestra di dialogo Dividi immettere il valore 100.
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.
Prima di tutto, attivare o disattivare il pulsante Visualizzazione diagramma per visualizzare entrambe le query.
Selezionare la query nyc_taxi e nella scheda Home selezionare il menu Combina e scegliere Unire query, quindi Unire query come nuovo.
Nella finestra di dialogo Unisci selezionare Generated-NYC-Taxi-Green-Discount dall'elenco a discesa Tabella destra per unire 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.
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.
Viene visualizzato un messaggio che chiede di consentire la combinazione di dati da più origini dati per visualizzare i risultati. Nella finestra di dialogo Unisci, selezionare OK.
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.
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 Sconto e quindi selezionare OK.
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.
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]
Quindi, seleziona OK.
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....
Nella finestra di dialogo Arrotondamento, immettere 2 per il numero di posizioni decimali e quindi selezionare OK.
Modificare il tipo di dati di IpepPickupDatetime da Data a Data/Ora.
Espandere infine il riquadro Impostazioni query dal lato destro dell'editor, se non è già espanso e rinominare la query da Unisci a 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.
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.
Nella finestra di dialogo Connetti alla destinazione dati, la connessione deve essere già selezionata. Selezionare Avanti per continuare.
Nella finestra di dialogo Scegli destinazione di destinazione passare al Lakehouse in cui si desidera caricare i dati e denominare la nuova tabella nyc_taxi_with_discounts, quindi selezionare di nuovo Avanti.
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.
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 si crea il primo Dataflow Gen2 in un'area di lavoro, viene eseguito il provisioning degli elementi Lakehouse e Warehouse insieme ai relativi modelli semantici ed 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 è "DataflowsStaging".
(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à.
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.
Controllare il lakehouse per visualizzare la nuova tabella caricata.
Contenuto correlato
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 campione.
- Importare e trasformare i dati 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.