Identificare gli anti-pattern per la pianificazione dei processi
- Acquisizione di un data lake batch
- Acquisizione profilo batch
- Segmentazione in batch
- Attivazione destinazione batch
La visualizzazione della timeline Pianificazioni processi consente di identificare i problemi di configurazione comuni che possono influire negativamente sulle prestazioni e sull’affidabilità della pipeline dei dati. Questi anti-pattern spesso causano errori di lavoro, incoerenze nei dati o prestazioni del sistema ridotte. Tre degli anti-pattern più comuni vengono rilevati e visualizzati automaticamente tramite indicatori di avviso nell’interfaccia. Individuando questi modelli in anticipo, è possibile riconfigurare i processi per evitare problemi prima che influiscano sulle operazioni aziendali.
Rilevamento automatico di anti-pattern auto-detection
Pianificazioni processi rileva automaticamente tre comuni indicatori di avviso di superfici e anti-pattern sulle schede di riepilogo pertinenti. Seleziona un indicatore di avviso per aprire un pannello dei dettagli con una descrizione del problema, le azioni consigliate e un elenco dei set di dati o delle destinazioni interessati.
Prerequisiti prerequisites
Prima di identificare gli anti-pattern, è necessario:
- Accedi alle Pianificazioni processi con Visualizza pianificazioni processi autorizzazione di controllo di accesso.
- Conoscere l’interfaccia Pianificazioni processi e leggere la visualizzazione della sequenza temporale.
- Comprendere i concetti di base di acquisizione batch, segmentazione e elaborazione profilo.
Riferimento rapido anti-pattern-quick-reference
Sovrapposizione pianificazione schedule-overlap-pattern
Gravità impatto: elevata | Problema principale: conflitto di risorse
Cosa cercare: più processi pianificati per l’esecuzione simultanea o in stretta successione, in particolare quando si sovrappongono processi che richiedono molte risorse.
Un esempio comune è l’esecuzione di processi di acquisizione in batch contemporaneamente a un processo di segmentazione pianificato. Ciò crea conflitti di risorse perché entrambe le operazioni richiedono una notevole potenza di elaborazione e memoria.
Perché questo è problematico:
- Conflitto di risorse: quando vengono eseguiti contemporaneamente più processi che richiedono un uso intensivo delle risorse, questi sono in competizione per le risorse di sistema (CPU, memoria, I/O), rallentando l’esecuzione di tutti i processi.
- Prestazioni imprevedibili: la durata del processo diventa incoerente, rendendo difficile la pianificazione di pianificazioni affidabili.
- Ritardi a cascata: se i processi richiedono più tempo del previsto, possono ritardare i processi dipendenti a valle, creando un effetto increspatura in tutta la pipeline.
- Maggiore rischio di errore: l’esaurimento delle risorse può causare il timeout o il fallimento completo dei processi.
Come correggerlo:
- Pianificazioni processi scaglionati: garantire l’esecuzione sequenziale delle operazioni che richiedono un uso intensivo delle risorse anziché simultanea.
- Aggiungi tempo buffer: lascia una spaziatura adeguata tra i processi per tenere conto dell’elaborazione delle varianti.
- Verifica dipendenze: identifica quali processi devono essere completati prima che gli altri possano iniziare in modo sicuro.
Quando Job Schedules rileva una segmentazione in esecuzione troppo vicina all’attivazione di una destinazione pianificata, nella scheda di riepilogo Destination activation viene visualizzato un indicatore di avviso. Seleziona l’indicatore di avviso per aprire un pannello che mostra il numero di occorrenze rilevate, una descrizione del conflitto di tempistiche, raccomandazioni e una tabella delle destinazioni interessate.
Densità processo pianificato scheduled-density
Gravità impatto: elevata | Problema primario: colli di bottiglia della pipeline
Cosa cercare: troppi set di dati con più batch pianificati nella stessa ora, in particolare quando questi batch sono impilati vicini tra loro e pianificati in prossimità di finestre di elaborazione critiche, come gli orari di inizio della segmentazione.
Questo modello in genere include:
- Più set di dati ciascuno con più batch al giorno
- Processi ETL (acquisizione di data lake e acquisizione di profili) raggruppati nella stessa ora
- Acquisizione in batch programmata immediatamente prima o durante le finestre di segmentazione pianificate
Perché questo è problematico:
- Collo di bottiglia della pipeline: quando numerosi batch di set di dati diversi vengono impilati in un breve intervallo di tempo, si crea un collo di bottiglia di elaborazione che può sopraffare la pipeline di acquisizione.
- Disponibilità ritardata del profilo: i processi di acquisizione del profilo troppo vicini a orari di inizio segmentazione potrebbero non essere completati in tempo, causando valutazioni del pubblico incomplete o non aggiornate.
- Segmentazione imprevedibile: se i processi di acquisizione a monte sono ancora in esecuzione all’inizio della segmentazione, si rischia di valutare i tipi di pubblico rispetto a dati incompleti, con conseguente iscrizione errata al pubblico.
- Errori a cascata: un singolo batch ritardato in una pianificazione ad alta densità può causare un effetto domino, ritardando tutti i batch e i processi a valle successivi.
- Ceppo di risorse: il sistema potrebbe avere difficoltà ad allocare risorse sufficienti durante l’elaborazione di troppi processi di acquisizione simultanei, rallentando i tempi di elaborazione o causando errori.
Come correggerlo:
- Consolidare i batch: ridurre la frequenza dei batch combinando più batch di piccole dimensioni in un numero minore di batch più grandi per set di dati.
- Distribuisci uniformemente: distribuisci i processi di acquisizione nell’arco della giornata anziché raggrupparli in ore specifiche.
- Aggiungi tempo buffer: assicurati che siano trascorse almeno 1-2 ore tra il completamento dell’acquisizione del profilo e l’inizio della segmentazione.
- Verifica requisiti: valuta se tutti i set di dati necessitano effettivamente di più batch giornalieri. Molti casi d’uso funzionano con meno aggiornamenti frequenti.
Quando Job Schedules rileva processi di acquisizione profilo troppo vicini a un’esecuzione di segmentazione pianificata, nella scheda di riepilogo Segmentation viene visualizzato un indicatore di avviso. Seleziona l’indicatore di avviso per aprire un pannello che mostra il numero di occorrenze rilevate, una descrizione del conflitto di tempistiche, raccomandazioni e una tabella dei set di dati interessati.
Limite giornaliero per l’acquisizione del profilo profile-ingestion-daily-limit
Gravità impatto: elevata | Problema principale: guardrail di sistema
Cosa cercare: un indicatore di avviso sulla scheda di riepilogo Acquisizione profilo quando l’acquisizione profilo giornaliera viene eseguita in avvicinamento o supera il guardrail di sistema di 90 esecuzioni. Selezionare l’indicatore di avvertenza per visualizzare un grafico a barre che mostra il conteggio di esecuzione giornaliero per ogni giorno nel periodo di tempo selezionato.
Il grafico utilizza barre colorate per indicare dove rientrano i conteggi rispetto al limite:
- Barre rosse (90 o più esecuzioni): limite giornaliero superato. Le inefficienze di elaborazione possono influire su tutti i set di dati abilitati per il profilo.
- Barre arancioni (da 72 a 89 esecuzioni): si avvicina al limite giornaliero.
- Barre verdi (meno di 72 esecuzioni): entro l’intervallo accettabile.
Perché questo è problematico:
- Inefficienza di elaborazione: oltre 90 esecuzioni di acquisizione profilo al giorno creano un sovraccarico di elaborazione che può interessare tutti i set di dati abilitati per il profilo.
- Conflitto di risorse: un numero totale di esecuzioni elevato può ritardare la segmentazione a valle e i processi di attivazione.
- Stabilità dei dati: quando l’elaborazione del profilo viene eseguita in modo continuo, il completamento di singoli batch potrebbe richiedere più tempo, ritardando la disponibilità dei dati per la segmentazione.
Come correggerlo:
- Riduci la frequenza batch per set di dati: consolida i batch in modo che vengano attivate ogni giorno meno esecuzioni di acquisizione profilo. Per istruzioni dettagliate, consulta Batch eccessivi per set di dati.
- Controlla tutte le pianificazioni di acquisizione: controlla tutti i set di dati pianificati per l’acquisizione del profilo e identifica quelli con frequenza batch inutilmente elevata.
Batch eccessivi per set di dati excessive-batches-per-dataset
Gravità impatto: Medium | Problema principale: elaborazione inefficiente
Cosa cercare: un singolo set di dati con un numero eccessivo di singoli processi batch pianificati nel corso della giornata, creando una lunga serie verticale di processi sulla timeline.
Questo modello coinvolge un singolo set di dati con molti processi di acquisizione batch singoli pianificati a intervalli frequenti, a volte decine di batch al giorno.
Perché questo è problematico:
- Elaborazione inefficiente: ogni processo batch ha costi comuni (inizializzazione, convalida, aggiornamenti metadati). L’elaborazione di molti batch di piccole dimensioni è notevolmente meno efficiente rispetto all’elaborazione di un numero inferiore di batch di grandi dimensioni.
- Superficie di errore aumentata: più processi significano più opportunità di errore. Ogni batch che non va a buon fine richiede un’analisi e una potenziale rielaborazione.
- Carico di sistema non necessario: i batch di piccole dimensioni spesso mantengono il sistema costantemente occupato con le attività di overhead anziché con l’elaborazione effettiva dei dati, riducendo il throughput complessivo.
- Disponibilità dei dati ritardata: paradossalmente, l’esecuzione di molti batch di piccole dimensioni può ritardare la disponibilità dei dati per i processi a valle rispetto ai batch consolidati.
- Ispezione difficile: il monitoraggio del successo e delle prestazioni di decine di singoli processi batch per set di dati diventa complesso dal punto di vista operativo e richiede tempo.
- Ritardo elaborazione profilo: ogni batch di acquisizione profilo attiva l’elaborazione del profilo. Piccoli batch frequenti possono causare l’esecuzione quasi continua dell’elaborazione del profilo, impedendo un’ottimizzazione batch efficiente.
Come correggerlo:
- Ridurre la frequenza batch: consolidare un numero inferiore di batch al giorno per set di dati per la maggior parte dei casi d’uso.
- Aumenta dimensione batch: accumula più dati prima di attivare l’acquisizione anziché effettuarla immediatamente.
- Allinea alle esigenze aziendali: verificare se gli aggiornamenti orari sono effettivamente necessari o se sono sufficienti gli aggiornamenti giornalieri/due volte al giorno.
- Usa lo streaming per il tempo reale: passa allo streaming ingestion per requisiti di tempo reale autentici invece di simularlo con batch frequenti.
- Monitora il totale delle esecuzioni giornaliere: se più set di dati hanno una frequenza batch elevata, il totale combinato potrebbe superare il guardrail di sistema. Vedi Limite giornaliero per l’acquisizione del profilo.
Passaggi successivi next-steps
Dopo aver identificato gli anti-pattern nei programmi di lavoro:
- Visualizza dettagli processo per analizzare set di dati ed esecuzioni di processi specifici che potrebbero causare problemi.
- Rivedi la Panoramica sugli Schedules per i processi per comprendere le funzionalità di interfaccia e ispezione.
- Scopri le acquisizioni batch per ottimizzare le pianificazioni di caricamento dei dati.
- Comprendi le pianificazioni di segmentazione per garantire la tempistica corretta delle valutazioni del pubblico.
- Esplora il monitoraggio dei flussi di dati di destinazione per la visibilità della pipeline end-to-end.
- Configura avvisi per ricevere notifiche quando viene raggiunto il limite giornaliero per l’acquisizione del profilo.