Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
SI APPLICA A:
Azure Data Factory
Azure Synapse Analytics
Suggerimento
Provare Data Factory in Microsoft Fabric, una soluzione di analisi all-in-one per le aziende. Microsoft Fabric copre tutto, dallo spostamento dati al data science, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Vedere le informazioni su come iniziare una nuova prova gratuita!
I flussi di dati sono disponibili sia nelle pipeline di Azure Data Factory che nelle pipeline di Azure Synapse Analytics. Questo articolo si applica alla mappatura dei flussi di dati. Se non si ha familiarità con le trasformazioni, vedere l'articolo introduttivo Trasformare i dati usando flussi di dati di mapping.
Usare la trasformazione chiave surrogata per aggiungere un valore di chiave incrementale a ciascuna riga di dati. Ciò è utile quando si progettano tabelle delle dimensioni in un modello di dati analitici dello schema star. In uno schema a stella, ogni membro nelle tabelle delle dimensioni richiede una chiave univoca che non sia una chiave business.
Impostazione
Colonna chiave: nome della colonna chiave surrogata generata.
Valore iniziale: valore della chiave più basso che verrà generato.
Incrementare le chiavi da fonti esistenti
Per avviare la sequenza da un valore esistente in un'origine, è consigliabile usare un sink della cache per salvare tale valore e usare una trasformazione colonna derivata per aggiungere i due valori insieme. Usare una ricerca memorizzata nella cache per ottenere l'output e aggiungerlo alla chiave generata. Per ulteriori informazioni, scopri di più sui pozzetti della cache e sulle ricerche cache.
Incremento dal valore massimo esistente
Per eseguire il seeding del valore della chiave con il valore massimo precedente, esistono due tecniche che è possibile usare in base alla posizione in cui si trovano i dati di origine.
Origini di database
Usare un'opzione di query SQL per selezionare MAX() dall'origine. Ad esempio: Select MAX(<surrogateKeyName>) as maxval from <sourceTable>.
Origini file
Se il valore massimo precedente si trova in un file, usare la max() funzione nella trasformazione di aggregazione per ottenere il valore massimo precedente:
In entrambi i casi, sarà necessario scrivere su un sink della cache e poi cercare il valore.
Script del flusso di dati
Sintassi
<incomingStream>
keyGenerate(
output(<surrogateColumnName> as long),
startAt: <number>L
) ~> <surrogateKeyTransformationName>
Esempio
Lo script del flusso di dati per la configurazione della chiave surrogata precedente si trova nel frammento di codice seguente.
AggregateDayStats
keyGenerate(
output(key as long),
startAt: 1L
) ~> SurrogateKey1
Contenuto correlato
Questi esempi usano le trasformazioni Join e Colonna Derivata.