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, è consigliabile non abilitare il tempo del runtime di integrazione di Azure per la proprietà live perché comporta più pool di riscaldamento 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 flusso di dati in sequenza, è consigliabile impostare una durata (TTL) nella configurazione del runtime di integrazione di Azure. 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.

Overload 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, in modo seriale e per interrompere 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 impostare l'ordine di esecuzione dei sink e raggruppare i sink usando lo stesso numero di gruppo. Per gestire i gruppi, è possibile chiedere al servizio di eseguire sink nello stesso gruppo per l'esecuzione in parallelo.

Nella pipeline eseguire l'attività flusso di dati nella sezione "Proprietà sink" è un'opzione per attivare il caricamento del sink parallelo. 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 Database dell'area di lavoro è disponibile solo per i nuovi flussi di dati, non è disponibile quando si usa una pipeline esistente dalla raccolta di Synapse Studio.

Sono disponibili altri articoli relativi alle prestazioni dei flussi di dati: