Trasformazione Colonna derivata nel flusso di dati per mapping

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi completa per le aziende. Microsoft Fabric copre tutti gli elementi, dallo spostamento dei dati all'analisi scientifica dei dati, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Scopri come avviare gratuitamente una nuova versione di valutazione .

I flussi di dati sono disponibili sia in Azure Data Factory che in Azure Synapse Pipelines. Questo articolo si applica ai flussi di dati di mapping. Se non si ha esperienza con le trasformazioni, vedere l'articolo introduttivo Trasformare i dati usando un flusso di dati di mapping.

Usare la trasformazione Colonna derivata per generare nuove colonne nel flusso di dati o per modificare campi esistenti.

Creare e aggiornare colonne

Quando si crea una colonna derivata, è possibile generare una nuova colonna o aggiornare una colonna esistente. Nella casella di testo Colonna immettere nella colonna che si sta creando. Per eseguire l'override di una colonna esistente nello schema, è possibile usare l'elenco a discesa delle colonne. Per compilare l'espressione della colonna derivata, fare clic sulla casella di testo Immetti espressione . È possibile iniziare a digitare l'espressione o aprire il generatore di espressioni per costruire la logica.

Derived column settings

Per aggiungere altre colonne derivate, fare clic su Aggiungi sopra l'elenco di colonne o sull'icona con il segno più accanto a una colonna derivata esistente. Scegliere Aggiungi colonna o Aggiungi criteri di ricerca colonna.

New derived column selection

Criteri delle colonne

Nei casi in cui lo schema non è definito in modo esplicito o se si vuole aggiornare un set di colonne in blocco, è necessario creare modelli di colonna. I criteri di colonna consentono di associare le colonne usando regole basate sui metadati della colonna e creare colonne derivate per ogni colonna corrispondente. Per altre informazioni, vedere come creare modelli di colonna nella trasformazione colonna derivata.

Column patterns

Compilazione di schemi con il generatore di espressioni

Quando si usa il generatore di espressioni del flusso di dati di mapping, è possibile creare, modificare e gestire le colonne derivate nella sezione Colonne derivate. Vengono elencate tutte le colonne create o modificate nella trasformazione. Scegliere in modo interattivo la colonna o il modello da modificare facendo clic sul nome della colonna. Per aggiungere un'altra colonna, selezionare Crea nuovo e scegliere se aggiungere una singola colonna o un criterio.

Create new column

Quando si utilizzano colonne complesse, è possibile creare sottocolumi. A tale scopo, fare clic sull'icona con il segno più accanto a una colonna e selezionare Aggiungi sottocolumn. Per altre informazioni sulla gestione di tipi complessi nel flusso di dati, vedere Gestione del formato JSON nel flusso di dati per mapping.

Add subcolumn

Per altre informazioni sulla gestione di tipi complessi nel flusso di dati, vedere Gestione del formato JSON nel flusso di dati per mapping.

Add complex column

Script del flusso di dati

Sintassi

<incomingStream>
    derive(
           <columnName1> = <expression1>,
           <columnName2> = <expression2>,
           each(
                match(matchExpression),
                <metadataColumn1> = <metadataExpression1>,
                <metadataColumn2> = <metadataExpression2>
               )
          ) ~> <deriveTransformationName>

Esempio

L'esempio seguente rappresenta una colonna derivata denominata CleanData che accetta un flusso in ingresso MoviesYear e crea due colonne derivate. La prima colonna derivata sostituisce la colonna Rating con un valore di valutazione come tipo Integer. La seconda colonna derivata è un modello a cui corrisponde ogni colonna il cui nome inizia con "movies". Per ogni colonna corrispondente, viene creata una colonna movie uguale al valore della colonna corrispondente con il prefisso ' movie_'.

Nell'interfaccia utente questa trasformazione è simile all'immagine seguente:

Derive example

Lo script del flusso di dati per questa trasformazione si trova nel frammento di codice seguente:

MoviesYear derive(
                Rating = toInteger(Rating),
		        each(
                    match(startsWith(name,'movies')),
                    'movie' = 'movie_' + toString($$)
                )
            ) ~> CleanData