Che cosa sono i flussi di dati di mapping?What are mapping data flows?

I flussi di dati di mapping sono le trasformazioni di dati progettate visivamente in Azure Data Factory.Mapping data flows are visually designed data transformations in Azure Data Factory. I flussi di dati consentono agli ingegneri di dati di sviluppare la logica di trasformazione dei dati grafici senza scrivere codice.Data flows allow data engineers to develop graphical data transformation logic without writing code. I flussi di dati risultanti vengono eseguiti come attività all'interno di Azure Data Factory pipeline che usano cluster Spark con scalabilità orizzontale.The resulting data flows are executed as activities within Azure Data Factory pipelines that use scaled-out Spark clusters. Le attività del flusso di dati possono essere operative tramite le funzionalità di pianificazione, controllo, flusso e monitoraggio Data Factory esistenti.Data flow activities can be operationalized via existing Data Factory scheduling, control, flow, and monitoring capabilities.

Il mapping di flussi di dati offre un'esperienza visiva completamente senza necessità di scrivere codice.Mapping data flows provide a fully visual experience with no coding required. I flussi di dati vengono eseguiti nel proprio cluster di esecuzione per l'elaborazione dei dati con scalabilità orizzontale.Your data flows will run on your own execution cluster for scaled-out data processing. Azure Data Factory gestisce tutta la conversione del codice, l'ottimizzazione del percorso e l'esecuzione dei processi del flusso di dati.Azure Data Factory handles all the code translation, path optimization, and execution of your data flow jobs.

Inizia oraGetting started

Per creare un flusso di dati, selezionare il segno più in risorse Factory, quindi selezionare flusso di dati.To create a data flow, select the plus sign under Factory Resources, and then select Data Flow.

Nuovo flusso di datiNew data flow

Viene quindi riportata l'area di disegno del flusso di dati in cui è possibile creare la logica di trasformazione.This takes you to the data flow canvas where you can create your transformation logic. Selezionare Aggiungi origine per avviare la configurazione della trasformazione origine.Select Add source to start configuring your source transformation. Per ulteriori informazioni, vedere trasformazione origine.For more information, see Source transformation.

Area di disegno del flusso di datiData flow canvas

L'area di disegno del flusso di dati è suddivisa in tre parti: la barra superiore, il grafico e il pannello di configurazione.The data flow canvas is separated into three parts: the top bar, the graph, and the configuration panel.

CanvasCanvas

GrafoGraph

Il grafico mostra il flusso di trasformazione.The graph displays the transformation stream. Mostra la derivazione dei dati di origine durante il flusso in uno o più sink.It shows the lineage of source data as it flows into one or more sinks. Per aggiungere una nuova origine, selezionare Aggiungi origine.To add a new source, select Add source. Per aggiungere una nuova trasformazione, selezionare il segno più in basso a destra di una trasformazione esistente.To add a new transformation, select the plus sign on the lower right of an existing transformation.

CanvasCanvas

Proprietà del flusso di dati del runtime di integrazione di AzureAzure integration runtime data flow properties

Pulsante debugDebug button

Quando si inizia a usare i flussi di dati in ADF, è necessario attivare l'opzione "debug" per i flussi di dati nella parte superiore dell'interfaccia utente del browser.When you begin working with data flows in ADF, you will want to turn on the "Debug" switch for data flows at the top of the browser UI. Verrà avviata una Azure Databricks cluster da utilizzare per il debug interattivo, le anteprime dei dati e le esecuzioni di debug della pipeline.This will spin-up an Azure Databricks cluster to use for interactive debugging, data previews, and pipeline debug executions. È possibile impostare le dimensioni del cluster usato scegliendo una Azure Integration Runtimepersonalizzata.You can set the size of the cluster being utilized by choosing a custom Azure Integration Runtime. La sessione di debug resterà attiva per un massimo di 60 minuti dopo l'ultima esecuzione dell'anteprima dei dati o dell'ultima esecuzione della pipeline di debug.The debug session will stay alive for up to 60 minutes after your last data preview or last debug pipeline execution.

Quando si rendere operativo le pipeline con le attività flusso di dati, ADF utilizzerà il Azure Integration Runtime associato all' attività nella proprietà "Esegui su".When you operationalize your pipelines with data flow activities, ADF will use the Azure Integration Runtime associated with the activity in the "Run On" property.

Il Azure Integration Runtime predefinito è un piccolo cluster di nodi di lavoro singolo a 4 core progettato per consentire all'utente di visualizzare in anteprima i dati ed eseguire rapidamente pipeline di debug a costi minimi.The default Azure Integration Runtime is a small 4-core single worker node cluster intended to allow you to preview data and quickly execute debug pipelines at minimal costs. Impostare una configurazione di Azure IR più grande se si eseguono operazioni su set di impostazioni di grandi dimensioni.Set a larger Azure IR configuration if you are performing operations against large datasets.

È possibile indicare ad ADF di mantenere un pool di risorse cluster (VM) impostando una durata (TTL) nelle proprietà del flusso di dati Azure IR.You can instruct ADF to maintain a pool of cluster resources (VMs) by setting a TTL in the Azure IR data flow properties. Questo comporterà una maggiore esecuzione del processo sulle attività successive.This will result in faster job execution on subsequent activities.

Strategie del runtime di integrazione di Azure e del flusso di datiAzure integration runtime and data flow strategies

Esecuzione di flussi di dati in paralleloExecute data flows in parallel

Se i flussi di dati vengono eseguiti in una pipeline in parallelo, ADF eseguirà il rollup di cluster Azure Databricks distinti per ogni esecuzione di attività in base alle impostazioni del Azure Integration Runtime associate a ogni attività.If you execute data flows in a pipeline in parallel, ADF will spin-up separate Azure Databricks clusters for each activity execution based on the settings in your Azure Integration Runtime attached to each activity. Per progettare esecuzioni parallele nelle pipeline di ADF, aggiungere le attività del flusso di dati senza vincoli di precedenza nell'interfaccia utente.To design parallel executions in ADF pipelines, add your data flow activities without precedence constraints in the UI.

Di queste tre opzioni, questa opzione verrà probabilmente eseguita nell'intervallo di tempo più breve.Of these three options, this option will likely execute in the shortest amount of time. Tuttavia, ogni flusso di dati parallelo verrà eseguito contemporaneamente in cluster distinti, quindi l'ordine degli eventi è non deterministico.However, each parallel data flow will execute at the same time on separate clusters, so the ordering of events is non-deterministic.

Se si eseguono le attività del flusso di dati in parallelo all'interno delle pipeline, è consigliabile non usare la durata (TTL).If you are executing your data flow activities in parallel inside your pipelines, it is recommended to not use TTL. Ciò è dovuto al fatto che le esecuzioni parallele dei flussi di dati che utilizzano simultaneamente lo stesso Azure Integration Runtime comportano più istanze di pool calde per l'data factory.This is because parallel executions of data flows simultaneously using the same Azure Integration Runtime will result in multiple warm pool instances for your data factory.

Overload di un singolo flusso di datiOverload single data flow

Se si inserisce tutta la logica all'interno di un singolo flusso di dati, ADF verrà eseguito tutti nello stesso contesto di esecuzione del processo in una singola istanza del cluster Spark.If you put all of your logic inside a single data flow, ADF will all execute in that same job execution context on a single Spark cluster instance.

Questa opzione può essere più difficile da seguire e risolvere i problemi perché le regole di business e la logica di business saranno confuse tra loro.This option can possibly be more difficult to follow and troubleshoot because your business rules and business logic will be jumble together. Questa opzione non garantisce inoltre una riusabilità eccessiva.This option also doesn't provide much re-usability.

Eseguire flussi di dati in modo serialeExecute data flows serially

Se si eseguono le attività del flusso di dati in serie nella pipeline ed è stata impostata una durata (TTL) nella configurazione di Azure IR, ADF riutilizzerà le risorse di calcolo (VM), ottenendo tempi di esecuzione successivi più rapidi.If you execute your data flow activities in serial in the pipeline and you have set a TTL on the Azure IR configuration, then ADF will reuse the compute resources (VMs) resulting in faster subsequent execution times. Si riceverà comunque un nuovo contesto Spark per ogni esecuzione.You will still receive a new Spark context for each execution.

Di queste tre opzioni, il tempo necessario per l'esecuzione end-to-end richiederà più tempo.Of these three options, this will likely take the longest time to execute end-to-end. Ma fornisce una netta separazione delle operazioni logiche in ogni passaggio del flusso di dati.But it does provide a clean separation of logical operations in each data flow step.

Pannello di configurazioneConfiguration panel

Il pannello configurazione Mostra le impostazioni specifiche della trasformazione attualmente selezionata.The configuration panel shows the settings specific to the currently selected transformation. Se non è selezionata alcuna trasformazione, viene visualizzato il flusso di dati.If no transformation is selected, it shows the data flow. Nella configurazione del flusso di dati complessiva, è possibile modificare il nome e la descrizione nella scheda generale oppure aggiungere parametri tramite la scheda parametri . Per ulteriori informazioni, vedere mapping dei parametri del flusso di dati.In the overall data flow configuration, you can edit the name and description under the General tab or add parameters via the Parameters tab. For more information, see Mapping data flow parameters.

Ogni trasformazione include almeno quattro schede di configurazione.Each transformation has at least four configuration tabs.

Impostazioni di trasformazioneTransformation settings

La prima scheda del riquadro di configurazione di ogni trasformazione contiene le impostazioni specifiche della trasformazione.The first tab in each transformation's configuration pane contains the settings specific to that transformation. Per ulteriori informazioni, vedere la pagina della documentazione relativa alla trasformazione.For more information, see that transformation's documentation page.

Scheda Impostazioni di origineSource settings tab

OttimizzareOptimize

La scheda ottimizza contiene le impostazioni per la configurazione degli schemi di partizionamento.The Optimize tab contains settings to configure partitioning schemes.

Optimize (Ottimizza)Optimize

L'impostazione predefinita è Usa il partizionamento corrente, che indica Azure Data Factory di usare lo schema di partizionamento nativo per i flussi di dati in esecuzione in Spark.The default setting is Use current partitioning, which instructs Azure Data Factory to use the partitioning scheme native to data flows running on Spark. Nella maggior parte degli scenari è consigliabile questa impostazione.In most scenarios, we recommend this setting.

Sono presenti istanze in cui è possibile modificare il partizionamento.There are instances where you might want to adjust the partitioning. Se ad esempio si desidera restituire le trasformazioni a un singolo file nel lago, selezionare partizione singola in una trasformazione sink.For instance, if you want to output your transformations to a single file in the lake, select Single partition in a sink transformation.

Un altro caso in cui si potrebbe voler controllare gli schemi di partizionamento è l'ottimizzazione delle prestazioni.Another case where you might want to control the partitioning schemes is optimizing performance. La regolazione del partizionamento consente di controllare la distribuzione dei dati tra i nodi di calcolo e le ottimizzazioni di località dei dati che possono avere effetti positivi e negativi sulle prestazioni complessive del flusso di dati.Adjusting the partitioning provides control over the distribution of your data across compute nodes and data locality optimizations that can have both positive and negative effects on your overall data flow performance. Per ulteriori informazioni, vedere la Guida alle prestazioni del flusso di dati.For more information, see the Data flow performance guide.

Per modificare il partizionamento in qualsiasi trasformazione, selezionare la scheda ottimizza e selezionare il pulsante di opzione imposta partizionamento .To change the partitioning on any transformation, select the Optimize tab and select the Set Partitioning radio button. Verrà visualizzata una serie di opzioni per il partizionamento.You'll then be presented with a series of options for partitioning. Il metodo migliore per il partizionamento varia a seconda dei volumi di dati, delle chiavi candidate, dei valori null e della cardinalità.The best method of partitioning will differ based on your data volumes, candidate keys, null values, and cardinality.

Una procedura consigliata consiste nell'iniziare con il partizionamento predefinito, quindi provare diverse opzioni di partizionamento.A best practice is to start with default partitioning and then try different partitioning options. È possibile eseguire il test usando le esecuzioni di debug della pipeline e visualizzare l'ora di esecuzione e l'utilizzo delle partizioni in ogni raggruppamento di trasformazione dalla visualizzazione monitoraggio.You can test by using pipeline debug runs, and view execution time and partition usage in each transformation grouping from the monitoring view. Per altre informazioni, vedere monitoraggio dei flussi di dati.For more information, see Monitoring data flows.

Sono disponibili le seguenti opzioni di partizionamento.The following partitioning options are available.

Round RobinRound robin

Round Robin è una semplice partizione che distribuisce automaticamente i dati in modo uniforme tra le partizioni.Round robin is a simple partition that automatically distributes data equally across partitions. Usare round robin quando non si hanno validi candidati chiave per implementare una strategia di partizionamento intelligente solida.Use round robin when you don't have good key candidates to implement a solid, smart partitioning strategy. È possibile impostare il numero di partizioni fisiche.You can set the number of physical partitions.

HashHash

Azure Data Factory genera un hash di colonne per produrre partizioni uniformi in modo che le righe con valori simili rientrino nella stessa partizione.Azure Data Factory will produce a hash of columns to produce uniform partitions such that rows with similar values will fall in the same partition. Quando si usa l'opzione hash, verificare la possibile asimmetria della partizione.When you use the Hash option, test for possible partition skew. È possibile impostare il numero di partizioni fisiche.You can set the number of physical partitions.

Intervallo dinamicoDynamic range

L'intervallo dinamico utilizzerà intervalli dinamici Spark basati sulle colonne o sulle espressioni fornite.Dynamic range will use Spark dynamic ranges based on the columns or expressions that you provide. È possibile impostare il numero di partizioni fisiche.You can set the number of physical partitions.

Intervallo fissoFixed range

Consente di compilare un'espressione che fornisce un intervallo fisso per i valori nelle colonne di dati partizionati.Build an expression that provides a fixed range for values within your partitioned data columns. Per evitare l'inclinazione della partizione, è necessario avere una conoscenza corretta dei dati prima di utilizzare questa opzione.To avoid partition skew, you should have a good understanding of your data before you use this option. I valori immessi per l'espressione verranno utilizzati come parte di una funzione di partizione.The values you enter for the expression will be used as part of a partition function. È possibile impostare il numero di partizioni fisiche.You can set the number of physical partitions.

ChiaveKey

Se si dispone di una conoscenza corretta della cardinalità dei dati, il partizionamento delle chiavi potrebbe essere una strategia efficace.If you have a good understanding of the cardinality of your data, key partitioning might be a good strategy. Il partizionamento con chiavi crea partizioni per ogni valore univoco nella colonna.Key partitioning will create partitions for each unique value in your column. Non è possibile impostare il numero di partizioni perché il numero sarà basato sui valori univoci nei dati.You can't set the number of partitions because the number will be based on unique values in the data.

ControllareInspect

La scheda Controlla fornisce una visualizzazione dei metadati del flusso di dati che si sta trasformando.The Inspect tab provides a view into the metadata of the data stream that you're transforming. È possibile visualizzare i conteggi delle colonne, le colonne modificate, le colonne aggiunte, i tipi di dati, l'ordinamento delle colonne e i riferimenti alle colonne.You can see the column counts, columns changed, columns added, data types, column ordering, and column references. Esaminare è una visualizzazione di sola lettura dei metadati.Inspect is a read-only view of your metadata. Non è necessario che la modalità di debug sia abilitata per visualizzare i metadati nel riquadro di controllo .You don't need to have debug mode enabled to see metadata in the Inspect pane.

InspectInspect

Quando si modifica la forma dei dati tramite le trasformazioni, il flusso delle modifiche dei metadati verrà visualizzato nel riquadro Controlla .As you change the shape of your data through transformations, you'll see the metadata changes flow in the Inspect pane. Se non è presente uno schema definito nella trasformazione origine, i metadati non saranno visibili nel riquadro ispezione .If there isn't a defined schema in your source transformation, then metadata won't be visible in the Inspect pane. La mancanza di metadati è comune negli scenari di drifting dello schema.Lack of metadata is common in schema drift scenarios.

Anteprima datiData preview

Se la modalità di debug è attiva, la scheda Anteprima dati fornisce uno snapshot interattivo dei dati a ogni trasformazione.If debug mode is on, the Data Preview tab gives you an interactive snapshot of the data at each transform. Per altre informazioni, vedere anteprima dei dati in modalità debug.For more information, see Data preview in debug mode.

Barra superioreTop bar

La barra superiore contiene azioni che interessano l'intero flusso di dati, ad esempio il salvataggio e la convalida.The top bar contains actions that affect the whole data flow, like saving and validation. È anche possibile passare tra le modalità grafico e configurazione usando i pulsanti Mostra grafico e Nascondi grafico .You can also toggle between graph and configuration modes by using the Show Graph and Hide Graph buttons.

Nascondi graficoHide graph

Se si nasconde il grafo, è possibile esplorare i nodi di trasformazione in un secondo momento tramite i pulsanti indietro e Avanti .If you hide your graph, you can browse through your transformation nodes laterally via the Previous and Next buttons.

Pulsanti avanti e indietroPrevious and next buttons

Passaggi successiviNext steps