Condividi tramite


Uso dei flussi di dati nelle pipeline

Quando si creano pipeline complesse con più flussi di dati, il flusso logico può avere un impatto significativo sui tempi e sui costi. Questa sezione illustra l'impatto delle diverse strategie di architettura.

Esecuzione di flussi di dati in parallelo

Se si eseguono più flussi di dati in parallelo, il servizio avvia cluster Spark separati per ogni attività. In questo modo ogni processo può essere isolato ed eseguito in parallelo, ma porterà a più cluster in esecuzione contemporaneamente.

Se i flussi di dati vengono eseguiti in parallelo, consigliamo di non abilitare il tempo di IR Azure per la proprietà live, poiché comporta più pool caldi inutilizzati.

Suggerimento

Anziché eseguire lo stesso flusso di dati più volte in una per ogni attività, preparare i dati in un data lake e usare percorsi con caratteri jolly per elaborare i dati in un singolo flusso di dati.

Eseguire flussi di dati in sequenza

Se si eseguono le attività del data flow in sequenza, è consigliabile impostare una durata (TTL) nella configurazione di Azure IR. Il servizio riutilizza le risorse di calcolo, con conseguente tempi di avvio del cluster più rapidi. Ogni attività è ancora isolata e riceve un nuovo contesto Spark per ogni esecuzione.

Sovraccarico di un singolo flusso di dati

Se si inserisce tutta la logica all'interno di un singolo flusso di dati, il servizio esegue l'intero processo in una singola istanza di Spark. Anche se questo potrebbe sembrare un modo per ridurre i costi, combina flussi logici diversi e può essere difficile monitorare ed eseguire il debug. Se un componente ha esito negativo, anche tutte le altre parti del processo hanno esito negativo. È consigliabile organizzare i flussi di dati in base a flussi indipendenti della logica di business. Se il flusso di dati diventa troppo grande, suddividerlo in componenti separati semplifica il monitoraggio e il debug. Anche se non esiste un limite rigido per il numero di trasformazioni in un flusso di dati, la presenza di troppi rende il processo complesso.

Eseguire sink in parallelo

Il comportamento predefinito dei sink del flusso di dati consiste nell'eseguire ogni sink in modo sequenziale e nel terminare il flusso di dati quando si verifica un errore nel sink. Inoltre, per impostazione predefinita, tutti i sink vengono impostati sullo stesso gruppo, a meno che non si entrino nelle proprietà del flusso di dati e si impostino priorità diverse per i sink.

I flussi di dati consentono di raggruppare i sink in gruppi dalla scheda delle proprietà del flusso di dati nella finestra di progettazione dell'interfaccia utente. È possibile sia impostare l'ordine di esecuzione dei propri sink sia raggrupparli usando lo stesso numero di gruppo. Per gestire i gruppi, è possibile richiedere al servizio di eseguire i sink nello stesso gruppo, per poterli eseguire in parallelo.

Nella pipeline, eseguire l'attività di flusso di dati nella sezione "Proprietà del sink" è disponibile l'opzione per abilitare il caricamento parallelo del sink. Quando si abilita l'esecuzione in parallelo, si indica ai flussi di dati di scrivere in sink connessi contemporaneamente anziché in modo sequenziale. Per usare l'opzione parallela, i sink devono essere raggruppati e connessi allo stesso flusso tramite un nuovo ramo o una suddivisione condizionale.

Accedere ai modelli di database di Azure Synapse nelle pipeline

È possibile usare un modello di database di Azure Synapse quando si crea una pipeline. Quando si crea un nuovo flusso di dati, nelle impostazioni di origine o sink selezionare Database dell'area di lavoro. Nell'elenco a discesa del database sono elencati i database creati tramite il modello di database. L'opzione Workspace DB è disponibile solo per i nuovi flussi di dati, non è disponibile quando si usa una pipeline esistente dalla galleria di Synapse Studio.

Vedere altri articoli sul flusso di dati relativi alle prestazioni: