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.
Il log eventi della pipeline contiene tutte le informazioni correlate a una pipeline, inclusi i log di controllo, i controlli di qualità dei dati, lo stato della pipeline e la derivazione dei dati.
Le tabelle seguenti descrivono lo schema del registro eventi. Alcuni di questi campi contengono dati JSON che richiedono l'analisi per eseguire alcune query, ad esempio il campo details. Azure Databricks supporta l'operatore : per analizzare i campi JSON. Vedere l'operatore : (segno due punti).
Annotazioni
Alcuni campi nel registro eventi sono destinati all'uso interno di Azure Databricks. La documentazione seguente descrive i campi destinati all'utilizzo dei clienti.
Per informazioni dettagliate sull'uso del registro eventi della pipeline, vedere Registro eventi della pipeline.
L'oggetto PipelineEvent
Rappresenta un singolo evento della pipeline nel registro eventi.
| Campo | Description |
|---|---|
id |
Identificatore univoco per il record del registro eventi. |
sequence |
Stringa JSON contenente i metadati per identificare e ordinare gli eventi. |
origin |
Stringa JSON contenente i metadati per l'origine dell'evento, ad esempio il provider di servizi cloud, l'area del provider di servizi cloud, l'utente e le informazioni sulla pipeline. Consulta Oggetto Origin. |
timestamp |
Ora in cui l'evento è stato registrato, in formato UTC. |
message |
Messaggio leggibile che descrive l'evento. |
level |
Livello di avviso. I valori possibili sono:
|
maturity_level |
Stabilità dello schema di eventi. I valori possibili sono:
Non è consigliabile creare monitoraggio o avvisi sui campi EVOLVING o DEPRECATED. |
error |
Se si è verificato un errore, i dettagli che descrivono l'errore. |
details |
Stringa JSON contenente i dettagli strutturati dell'evento. Questo è il campo principale usato per l'analisi degli eventi. Il formato della stringa JSON dipende da event_type. Per ulteriori informazioni, vedere l'oggetto "Details". |
event_type |
Tipo di evento. Per un elenco dei tipi di evento e il tipo di oggetto dettagli che creano, vedere l'oggetto dettaglio. |
Oggetto dettagli
Ogni evento ha proprietà diverse details nell'oggetto JSON, in base all'oggetto event_type dell'evento. In questa tabella sono elencati event_type e l'associato details. Le details proprietà sono descritte nella sezione Tipi di dettagli .
Tipo di dettagli per event_type |
Description |
|---|---|
create_update |
Acquisisce la configurazione completa usata per avviare un aggiornamento della pipeline. Include qualsiasi configurazione impostata da Databricks. Per informazioni dettagliate, vedere Dettagli per create_update. |
user_action |
Fornisce informazioni dettagliate su qualsiasi azione dell'utente sulla pipeline( inclusa la creazione di una pipeline, nonché l'avvio o l'annullamento di un aggiornamento). Per dettagli, vedere evento user_action. |
flow_progress |
Descrive il ciclo di vita di un flusso dall'avvio, dall'esecuzione, al completamento o all'esito negativo. Per informazioni dettagliate, vedere Dettagli dell'evento flow_progress. |
update_progress |
Descrive il ciclo di vita di un aggiornamento della pipeline dall'avvio, dall'esecuzione, al completamento o non riuscito. Per informazioni dettagliate, vedere Dettagli sull'evento update_progress. |
flow_definition |
Definisce lo schema e il piano di query per le trasformazioni che si verificano in un determinato flusso. Può essere considerato come i bordi del DAG del flusso di dati. Può essere usato per calcolare la derivazione per ogni flusso e per visualizzare il piano di query illustrato. Per dettagli, vedere Dettagli dell'evento flow_definition. |
dataset_definition |
Definisce un set di dati, ovvero l'origine o la destinazione per un determinato flusso. Per i dettagli, vedere Dettagli per l'evento dataset_definition. |
sink_definition |
Definisce un sink specifico. Per informazioni dettagliate, vedere Dettagli per evento sink_definition. |
deprecation |
Elenca le funzionalità che saranno presto o attualmente deprecate usate da questa pipeline. Per esempi dei valori, consultare Enum dettagli per l'evento di deprecazione. |
cluster_resources |
Include informazioni sulle risorse del cluster per le pipeline in esecuzione nel calcolo classico. Queste metriche vengono popolate solo per le pipeline di calcolo classiche. Per dettagli, vedere Dettagli dell'evento cluster_resources. |
autoscale |
Include informazioni sulla scalabilità automatica per le pipeline in esecuzione nel calcolo classico. Queste metriche vengono popolate solo per le pipeline di calcolo classiche. Per informazioni dettagliate, vedere Dettagli per l'evento di scalabilità automatica. |
planning_information |
Rappresenta le informazioni di pianificazione correlate all'aggiornamento incrementale rispetto all'aggiornamento completo delle visualizzazioni materializzate. Può essere utilizzato per ottenere ulteriori dettagli sul motivo per cui una visualizzazione materializzata è completamente ricalcolata. Per informazioni dettagliate, vedere Dettagli per l'evento planning_information. |
hook_progress |
Evento per indicare lo stato corrente di un hook utente durante l'esecuzione della pipeline. Usato per il monitoraggio dello stato degli hook di eventi, ad esempio per l'invio a prodotti di osservabilità esterna. Per informazioni dettagliate, vedere Dettagli dell'evento hook_progress. |
operation_progress |
Include informazioni sullo stato di avanzamento di un'operazione. Per informazioni dettagliate, vedere Dettagli sull'evento di avanzamento dell'operazione. |
stream_progress |
Include informazioni sullo stato di avanzamento di una pipeline. Per informazioni dettagliate, vedere Dettagli per evento stream_progress. |
Tipi di dettagli
Gli oggetti seguenti rappresentano il details di un diverso tipo di evento all'interno dell'oggetto PipelineEvent.
Dettagli per la creazione/aggiornamento
Dettagli dell'evento create_update .
| Campo | Description |
|---|---|
dbr_version |
Versione del runtime di Databricks. |
run_as |
ID utente di cui verrà eseguito l'aggiornamento per conto di . In genere si tratta del proprietario della pipeline o di un principale del servizio. |
cause |
Motivo dell'aggiornamento.
JOB_TASK In genere, se viene eseguito da un processo o USER_ACTION quando viene eseguito in modo interattivo da un utente. |
Dettagli dell'evento user_action
Dettagli dell'evento user_action . Include i campi seguenti:
| Campo | Description |
|---|---|
user_name |
Nome dell'utente che ha attivato un aggiornamento della pipeline. |
user_id |
ID dell'utente che ha attivato un aggiornamento della pipeline. Questo non è sempre lo stesso dell'utente, il quale potrebbe essere un principal del servizio run_as o un altro utente. |
action |
Azione eseguita dall'utente, inclusi START e CREATE. |
Dettagli dell'evento flow_progress
Dettagli di un flow_progress evento.
| Campo | Description |
|---|---|
status |
Nuovo stato del flusso. Può essere uno dei seguenti:
|
metrics |
Metriche sul flusso. Per informazioni dettagliate, vedere FlowMetrics. |
data_quality |
Metriche relative alla qualità dei dati sul flusso e sulle aspettative associate. Per informazioni dettagliate, vedere DataQualityMetrics. |
Dettagli dell'evento update_progress
Dettagli dell'evento update_progress.
| Campo | Description |
|---|---|
state |
Nuovo stato dell'aggiornamento. Può essere uno dei seguenti:
Utile per calcolare la durata di varie fasi di un aggiornamento della pipeline dalla durata totale al tempo impiegato per l'attesa delle risorse, ad esempio. |
cancellation_cause |
Motivo per cui un aggiornamento ha raggiunto lo CANCELED stato. Include motivi come USER_ACTION o WORKFLOW_CANCELLATION (il flusso di lavoro che ha attivato l'aggiornamento è stato annullato). |
Dettagli dell'evento flow_definition
Dettagli di un flow_definition evento.
| Campo | Description |
|---|---|
input_datasets |
Input letti da questo flusso. |
output_dataset |
Il set di dati di output a cui questo flusso scrive. |
output_sink |
La destinazione di output su cui questo flusso scrive. |
explain_text |
Piano di query spiegato. |
schema_json |
Stringa dello schema JSON DI SPARK SQL. |
schema |
Schema di questo flusso. |
flow_type |
Tipo di flusso. Può essere uno dei seguenti:
|
comment |
Commento utente o descrizione sul set di dati. |
spark_conf |
Configurazioni Spark impostate per questo flusso. |
language |
Lingua utilizzata per creare questo flusso. Può essere SCALA, PYTHON o SQL. |
once |
Indica se questo flusso è stato dichiarato per essere eseguito una sola volta. |
Dettagli dell'evento dataset_definition
Dettagli di un dataset_definition evento. Include i campi seguenti:
| Campo | Description |
|---|---|
dataset_type |
Differenzia le viste materializzate e le tabelle di streaming. |
num_flows |
Numero di flussi che scrivono nel set di dati. |
expectations |
Aspettative associate al set di dati. |
Dettagli dell'evento sink_definition
Dettagli di un sink_definition evento.
| Campo | Description |
|---|---|
format |
Formato del sink. |
options |
Le opzioni chiave-valore associate al sink. |
Enumerazione dei dettagli per l'evento di deprecazione
L'evento deprecation ha un message campo. I valori possibili per il message includono quanto segue. Si tratta di un elenco parziale che cresce nel tempo.
| Campo | Description |
|---|---|
TABLE_MANAGED_BY_MULTIPLE_PIPELINES |
Una tabella viene gestita da più linee di pipeline. |
INVALID_CLUSTER_LABELS |
Utilizzo di etichette di cluster non supportate. |
PINNED_DBR_VERSION |
Utilizzo di dbr_version invece di channel nelle impostazioni della pipeline. |
PREVIOUS_CHANNEL_USED |
Uso del canale di versione PREVIOUS, che potrebbe essere rimosso in una versione futura. |
LONG_DATASET_NAME |
Uso di un nome del set di dati più lungo della lunghezza supportata. |
LONG_SINK_NAME |
Uso di un nome per il sink più lungo della lunghezza supportata. |
LONG_FLOW_NAME |
Uso di un nome di flusso più lungo della lunghezza supportata. |
ENHANCED_AUTOSCALING_POLICY_COMPLIANCE |
I criteri del cluster sono conformi solo quando la scalabilità automatica avanzata usa dimensioni fisse del cluster. |
DATA_SAMPLE_CONFIGURATION_KEY |
L'uso della chiave di configurazione per configurare il campionamento dei dati è deprecato. |
INCOMPATIBLE_CLUSTER_SETTINGS |
Le impostazioni correnti del cluster o i criteri del cluster non sono più compatibili con le pipeline dichiarative di Lakeflow Spark. |
STREAMING_READER_OPTIONS_DROPPED |
Uso delle opzioni del lettore di streaming eliminate. |
DISALLOWED_SERVERLESS_STATIC_SPARK_CONFIG |
L'impostazione di configurazioni spark statiche tramite la configurazione della pipeline per le pipeline serverless non è consentita. |
INVALID_SERVERLESS_PIPELINE_CONFIG |
Il cliente serverless fornisce una configurazione della pipeline non valida. |
UNUSED_EXPLICIT_PATH_ON_UC_MANAGED_TABLE |
Specificazione dei percorsi di tabella espliciti inutilizzati nelle tabelle gestite da UC. |
FOREACH_BATCH_FUNCTION_NOT_SERIALIZABLE |
La funzione foreachBatch specificata non è serializzabile. |
DROP_PARTITION_COLS_NO_PARTITIONING |
L'eliminazione dell'attributo partition_cols non comporta il partizionamento. |
PYTHON_CREATE_TABLE |
Uso @dlt.create\_table di anziché di @dp.table o @dp.materialized\_view. |
PYTHON_CREATE_VIEW |
Uso @dlt.create\_view di anziché di @dp.temporary\_view. |
PYTHON_CREATE_STREAMING_LIVE_TABLE |
Uso create_streaming_live_table di anziché di create_streaming_table. |
PYTHON_CREATE_TARGET_TABLE |
Uso create_target_table di anziché di create_streaming_table. |
FOREIGN_KEY_TABLE_CONSTRAINT_CYCLE |
Il set di tabelle gestite dalla pipeline ha un ciclo nel set di vincoli di chiave esterna. |
PARTIALLY_QUALIFIED_TABLE_REFERENCE_INCOMPATIBLE_WITH_DEFAULT_PUBLISHING_MODE |
Riferimento di tabella parzialmente qualificato con significati diversi in modalità di pubblicazione predefinita e in modalità di pubblicazione legacy. |
Dettagli dell'evento cluster_resources
Dettagli di un cluster_resources evento. Applicabile solo per le pipeline in esecuzione sui sistemi di calcolo classico.
| Campo | Description |
|---|---|
task_slot_metrics |
Metriche dello slot di attività del cluster. Per informazioni dettagliate, vedere Oggetto TaskSlotMetrics |
autoscale_info |
Stato dei ridimensionatori automatici. Per informazioni dettagliate, vedere Oggetto AutoscaleInfo |
Dettagli per l'evento di scalabilità automatica
Dettagli dell'evento autoscale. Gli eventi di scalabilità automatica sono applicabili solo quando la pipeline usa il calcolo classico.
| Campo | Description |
|---|---|
status |
Stato dell'evento. Può essere uno dei seguenti:
|
optimal_num_executors |
Numero ottimale di esecutori suggerito dall'algoritmo prima di applicare i limiti min_workers e max_workers. |
requested_num_executors |
Numero di executor dopo il troncamento del numero ottimale di executor suggeriti dall'algoritmo ai limiti di min_workers e max_workers. |
Dettagli dell'evento di pianificazione_informazioni
Dettagli di un planning_information evento. Utile per visualizzare i dettagli relativi al tipo di aggiornamento scelto per un determinato flusso durante un aggiornamento. Può essere usato per eseguire il debug del motivo per cui un aggiornamento viene aggiornato completamente anziché aggiornato in modo incrementale. Per altre informazioni sugli aggiornamenti incrementali, vedere Aggiornamento incrementale per le viste materializzate
| Campo | Description |
|---|---|
technique_information |
Informazioni correlate all'aggiornamento. Include entrambe le informazioni sulla metodologia di aggiornamento scelta e sulle possibili metodologie di aggiornamento considerate. Utile per il debug del motivo per cui una vista materializzata non è riuscita a eseguire l'incrementalizzazione. Per altri dettagli, vedi TechniqueInformation. |
source_table_information |
Informazioni sulla tabella di origine. Può essere utile per il debug del motivo per cui una vista materializzata non è riuscita a eseguire l'incrementalizzazione. Per informazioni dettagliate, vedi Oggetto TableInformation. |
target_table_information |
Informazioni sulla tabella di destinazione. Per informazioni dettagliate, vedi Oggetto TableInformation. |
Dettagli per l'evento hook_progress
Dettagli di un hook_progress evento. Include i campi seguenti:
| Campo | Description |
|---|---|
name |
Nome dell'hook dell'utente. |
status |
Stato dell'hook dell'utente. |
Dettagli per l'evento operation_progress
Dettagli di un operation_progress evento. Include i campi seguenti:
| Campo | Description |
|---|---|
type |
Tipo di operazione rilevata. Uno dei seguenti:
|
status |
Lo stato dell'operazione. Uno dei seguenti:
|
duration_ms |
Tempo totale trascorso dell'operazione in millisecondi. Incluso solo nell'evento finale (dove lo stato è COMPLETED, CANCELEDo FAILED). |
Dettagli per l'evento stream_progress
Dettagli di un stream_progress evento. Include il campo seguente:
| Campo | Description |
|---|---|
stream_progress |
Dettagli del flusso della pipeline. Analogamente alle StreamingQueryListener metriche per Structured Streaming.Le differenze sono descritte nei paragrafi seguenti. Per la documentazione completa sulle StreamingQueryListener metriche, vedere Metriche dell'oggetto StreamingQueryListener. |
Differenze tra stream_progress le metriche degli oggetti e StreamingQueryListener :
- Le metriche seguenti sono presenti in
StreamingQueryListener, ma non instream_progress:numInputRows,inputRowsPerSecondeprocessedRowsPerSecond. - Per i flussi Kafka e Kinesis, i campi
startOffset,endOffsetelatestOffsetpossono essere troppo grandi e vengono troncati. Per ognuno di questi campi, viene aggiunto un campo aggiuntivo...Truncated,startOffsetTruncated,endOffsetTruncatedelatestOffsetTruncated, con un valore booleano per determinare se i dati vengono troncati.
Altri oggetti
Gli oggetti seguenti rappresentano dati o enumerazioni aggiuntivi all'interno degli oggetti evento.
Oggetto AutoscaleInfo
Metriche di scalabilità automatica per un cluster. Applicabile solo per le pipeline in esecuzione sui sistemi di calcolo classico.
| Campo | Description |
|---|---|
state |
Stato della scalabilità automatica. Può essere uno dei seguenti:
|
optimal_num_executors |
Numero ottimale di executor. Si tratta delle dimensioni ottimali suggerite dall'algoritmo prima di essere troncate dal numero minimo/massimo specificato dall'utente di executor. |
latest_requested_num_executors |
Il numero di executor richiesto dal responsabile dello stato al gestore del cluster nella richiesta più recente. Si tratta del numero di esecutori a cui il gestore dello stato sta cercando di ridimensionarsi e viene aggiornato quando il gestore dello stato tenta di uscire dallo stato di ridimensionamento in caso di timeout. Questo campo non viene popolato se non è presente alcuna richiesta in sospeso. |
request_pending_seconds |
Periodo di tempo in cui la richiesta di ridimensionamento è stata sospesa. Questo campo non viene popolato se non vi è alcuna richiesta in sospeso. |
Oggetto CostModelRejectionSubType
Enumerazione dei motivi per cui la incrementalizzazione viene rifiutata, in base al costo dell'aggiornamento completo rispetto all'aggiornamento incrementale in un planning_information evento.
| Value | Description |
|---|---|
NUM_JOINS_THRESHOLD_EXCEEDED |
Aggiorna completamente perché la query contiene troppi join. |
CHANGESET_SIZE_THRESHOLD_EXCEEDED |
Aggiornamento completo perché troppe righe nelle tabelle di base sono state modificate. |
TABLE_SIZE_THRESHOLD_EXCEEDED |
Aggiornamento completo perché le dimensioni della tabella di base superano la soglia. |
EXCESSIVE_OPERATOR_NESTING |
Aggiornamento completo perché la definizione della query è complessa e presenta molti livelli di annidamento degli operatori. |
COST_MODEL_REJECTION_SUB_TYPE_UNSPECIFIED |
Ricarica completa per qualsiasi altro motivo. |
Oggetto DataQualityMetrics
Metriche sul modo in cui vengono soddisfatte le aspettative all'interno del flusso. Usato nei dettagli di un flow_progress evento.
| Campo | Description |
|---|---|
dropped_records |
Numero di record che sono stati eliminati perché non hanno superato una o più aspettative. |
expectations |
Metriche delle aspettative aggiunte a ogni set di dati nel piano di query del flusso. Quando ci sono più aspettative, questo può essere usato per tenere traccia delle aspettative soddisfatte o non riuscite. Per informazioni dettagliate, vedere Oggetto ExpectationMetrics. |
Oggetto ExpectationMetrics
Metriche sulle aspettative, per un'aspettativa specifica.
| Campo | Description |
|---|---|
name |
Nome dell'aspettativa. |
dataset |
Nome del set di dati a cui è stata aggiunta l'aspettativa. |
passed_records |
Numero di record che superano le aspettative. |
failed_records |
Numero di record che non soddisfano le aspettative. Tiene traccia del fatto che l'aspettativa sia stata soddisfatta, ma non descrive cosa accade ai record (avviso, fallimento o eliminazione dei record). |
Oggetto FlowMetrics
Metriche sul flusso, inclusi sia il totale per il flusso, sia suddiviso in base a un'origine specifica.Metrics about the flow, including both total for the flow, and broken out by specific source. Usato nei dettagli di un flow_progress evento.
Ogni origine di streaming supporta solo metriche di flusso specifiche. La tabella seguente illustra le metriche disponibili per le origini di streaming supportate:
| source | byte backlog | registrazioni arretrate | arretrato secondi | file backlog |
|---|---|---|---|---|
| Kafka | ✓ | ✓ | ||
| Kinesis | ✓ | ✓ | ||
| Delta | ✓ | ✓ | ||
| Caricatore automatico | ✓ | ✓ | ||
| Google Pub/Sub | ✓ | ✓ |
| Campo | Description |
|---|---|
num_output_rows |
Numero di righe di output scritti in seguito a un aggiornamento di questo flusso. |
backlog_bytes |
Backlog totale misurato in byte attraverso tutte le sorgenti di input nel flusso. |
backlog_records |
Totale dei registri di backlog attraverso tutte le fonti di input nel flusso. |
backlog_files |
Totale dei file di backlog da tutte le sorgenti di input nel flusso. |
backlog_seconds |
Numero massimo di secondi di backlog in tutte le origini di input nel flusso. |
executor_time_ms |
Somma dei tempi di esecuzione di tutte le attività di questo flusso in millisecondi durante il periodo di report. |
executor_cpu_time_ms |
Somma di tutti i tempi di CPU di esecuzione delle attività di questo flusso, espressi in millisecondi, relativo al periodo di report. |
num_upserted_rows |
Numero di righe di output inserite nel set di dati da un aggiornamento di questo flusso. |
num_deleted_rows |
Numero di righe di output esistenti eliminate dal set di dati da un aggiornamento di questo flusso. |
num_output_bytes |
Numero di byte di output scritti da un aggiornamento di questo flusso. |
source_metrics |
Metriche per ogni origine di input nel flusso. Utile per il monitoraggio dello stato di inserimento da origini esterne alle pipeline dichiarative di Lakeflow Spark( ad esempio Apache Kafka, Pulsar o Auto Loader). Include i campi:
|
Oggetto IncrementalizationIssue
Rappresenta i problemi di incrementalizzazione che potrebbero causare un aggiornamento completo durante la pianificazione di un aggiornamento.
| Campo | Description |
|---|---|
issue_type |
Tipo di problema che potrebbe impedire alla vista materializzata di aggiornarsi in maniera incrementale. Per informazioni dettagliate, vedere Tipo di problema. |
prevent_incrementalization |
Se questo problema ha impedito che l'incrementalizzazione si verificasse. |
table_information |
Informazioni sulla tabella associata a problemi come CDF_UNAVAILABLE, INPUT_NOT_IN_DELTA, DATA_FILE_MISSING. |
operator_name |
Informazioni relative al piano di progetto. Impostare per i problemi quando il tipo di problema è PLAN_NOT_DETERMINISTIC o PLAN_NOT_INCREMENTALIZABLE all'operatore o all'espressione che causa il non determinismo o la non incrementalizzabilità. |
expression_name |
Nome dell'espressione. |
join_type |
Informazioni ausiliarie quando l'operatore è un join. Ad esempio, JOIN_TYPE_LEFT_OUTER o JOIN_TYPE_INNER. |
plan_not_incrementalizable_sub_type |
Categoria dettagliata quando il tipo di problema è PLAN_NOT_INCREMENTALIZABLE. Per informazioni dettagliate, vedere Oggetto PlanNotIncrementalizableSubType. |
plan_not_deterministic_sub_type |
Categoria dettagliata quando il tipo di problema è PLAN_NOT_DETERMINISTIC. Per informazioni dettagliate, vedere Oggetto PlanNotDeterministicSubType. |
fingerprint_diff_before |
Il differenziale dell'impronta digitale precedente. |
fingerprint_diff_current |
Differenza dall'impronta digitale corrente. |
cost_model_rejection_subtype |
Categoria dettagliata quando il tipo di problema è INCREMENTAL_PLAN_REJECTED_BY_COST_MODEL. Per informazioni dettagliate, vedere Oggetto CostModelRejectionSubType. |
Oggetto TipoDiProblema
Enumerazione di tipi di problema che potrebbero causare un aggiornamento completo.
| Value | Description |
|---|---|
CDF_UNAVAILABLE |
CDF (feed di dati di modifica) non è abilitato in alcune tabelle di base. Il table_information campo fornisce informazioni sulla tabella in cui non è abilitato CDF. Usare ALTER TABLE <table-name> SET TBLPROPERTIES ( 'delta.enableChangeDataFeed' = true) per abilitare CDF per la tabella di base. Se la tabella di origine è una vista materializzata, CDF deve essere impostato su ON per impostazione predefinita. |
DELTA_PROTOCOL_CHANGED |
Aggiornamento completo perché alcune tabelle di base (dettagli nel campo table_information) hanno subito una modifica dovuta al protocollo Delta. |
DATA_SCHEMA_CHANGED |
Aggiornamento completo perché alcune tabelle di base (dettagli nel table_information campo) hanno apportato una modifica dello schema dei dati nelle colonne usate dalla definizione della vista materializzata. Non è rilevante se una colonna che la vista materializzata non utilizza è stata modificata o aggiunta alla tabella di base. |
PARTITION_SCHEMA_CHANGED |
Aggiornamento completo perché alcune tabelle di base (dettagli nel table_information campo) hanno avuto una modifica dello schema di partizione. |
INPUT_NOT_IN_DELTA |
Aggiornamento completo perché la definizione della vista materializzata comporta alcuni input non Delta. |
DATA_FILE_MISSING |
Aggiornamento completo perché alcuni file di tabella di base sono già sotto vuoto a causa del periodo di conservazione. |
PLAN_NOT_DETERMINISTIC |
Aggiornamento completo perché alcuni operatori o espressioni nella definizione della vista materializzata non sono deterministici. I operator_name campi e expression_name forniscono informazioni sull'operatore o l'espressione che ha causato il problema. |
PLAN_NOT_INCREMENTALIZABLE |
Aggiornamento completo perché alcuni operatori o espressioni nella definizione della vista materializzata non sono incrementalizzabili. |
SERIALIZATION_VERSION_CHANGED |
Aggiornamento completo perché è stata apportata una modifica significativa nella logica di rilevamento delle impronte digitali delle query. |
QUERY_FINGERPRINT_CHANGED |
Aggiornamento completo perché la definizione della vista materializzata è stata modificata o le versioni dichiarative di Lakeflow Spark hanno causato una modifica nei piani di valutazione delle query. |
CONFIGURATION_CHANGED |
Aggiornamento completo perché le configurazioni delle chiavi (ad esempio , spark.sql.ansi.enabled) che potrebbero influire sulla valutazione delle query sono state modificate. La ricomputazione completa è necessaria per evitare stati incoerenti nella vista materializzata. |
CHANGE_SET_MISSING |
Aggiornamento completo perché è il primo calcolo della vista materializzata. Questo comportamento è previsto per il calcolo della vista materializzata iniziale. |
EXPECTATIONS_NOT_SUPPORTED |
Aggiornamento completo perché la definizione della vista materializzata include aspettative, che non sono supportate per gli aggiornamenti incrementali. Rimuovere le aspettative o gestirle al di fuori della definizione della vista materializzata se è necessario il supporto incrementale. |
TOO_MANY_FILE_ACTIONS |
Aggiornamento completo perché il numero di azioni file ha superato la soglia per l'elaborazione incrementale. Valutare la possibilità di ridurre la varianza dei file nelle tabelle di base o di aumentare le soglie. |
INCREMENTAL_PLAN_REJECTED_BY_COST_MODEL |
Aggiornamento completo perché il modello di costo ha determinato che un aggiornamento completo è più efficiente rispetto alla manutenzione incrementale. Esaminare il comportamento del modello di costo o la complessità del piano di query per consentire gli aggiornamenti incrementali. |
ROW_TRACKING_NOT_ENABLED |
Aggiornamento completo perché il rilevamento delle righe non è abilitato in una o più tabelle di base. Abilitare il rilevamento delle righe usando ALTER TABLE <table-name> SET TBLPROPERTIES ('delta.enableRowTracking' = true). |
TOO_MANY_PARTITIONS_CHANGED |
Aggiornamento completo perché troppe partizioni sono state modificate nelle tabelle di base. Provare a limitare il numero di modifiche alla partizione per rimanere entro i limiti di elaborazione incrementale. |
MAP_TYPE_NOT_SUPPORTED |
Aggiornamento completo perché la definizione di vista materializzata include un tipo di mappa, che non è supportato per gli aggiornamenti incrementali. Prendere in considerazione la ristrutturazione dei dati per evitare tipi di mapping nella vista materializzata. |
TIME_ZONE_CHANGED |
Aggiornamento completo perché l'impostazione del fuso orario di sistema o della sessione è stata modificata. |
DATA_HAS_CHANGED |
Aggiornamento completo perché i dati rilevanti per la vista materializzata sono stati modificati in modo da impedire aggiornamenti incrementali. Valutare le modifiche e la struttura dei dati della definizione della vista per garantire la compatibilità con la logica incrementale. |
PRIOR_TIMESTAMP_MISSING |
Eseguire un aggiornamento completo perché manca il timestamp dell'ultima esecuzione avvenuta. Ciò può verificarsi dopo la perdita di metadati o l'intervento manuale. |
Oggetto MaintenanceType
Enumerazione dei tipi di manutenzione che possono essere scelti durante un planning_information evento. Se il tipo non è MAINTENANCE_TYPE_COMPLETE_RECOMPUTE o MAINTENANCE_TYPE_NO_OP, il tipo è un aggiornamento incrementale.
| Value | Description |
|---|---|
MAINTENANCE_TYPE_COMPLETE_RECOMPUTE |
Ricalcolo completo; sempre visualizzato. |
MAINTENANCE_TYPE_NO_OP |
Quando le tabelle di base non cambiano. |
MAINTENANCE_TYPE_PARTITION_OVERWRITE |
Aggiornare in modo incrementale le partizioni interessate quando la vista materializzata è co-partizionata con una delle tabelle di origine. |
MAINTENANCE_TYPE_ROW_BASED |
Aggiornare in modo incrementale creando set di modifiche modulari per varie operazioni, ad esempio JOIN, FILTERe UNION ALL, e componendole per calcolare query complesse. Usato quando il tracciamento delle righe per le tabelle sorgente è abilitato ed è presente un numero limitato di join per la query. |
MAINTENANCE_TYPE_APPEND_ONLY |
Aggiornare in modo incrementale solo computando nuove righe perché non sono presenti inserimenti o aggiornamenti né eliminazioni nelle tabelle di origine. |
MAINTENANCE_TYPE_GROUP_AGGREGATE |
Aggiornare in modo incrementale calcolando le modifiche per ogni valore di aggregazione. Usato quando le aggregazioni associative, ad esempio count, summean, e stddev, si trovano al livello superiore della query. |
MAINTENANCE_TYPE_GENERIC_AGGREGATE |
Aggiornare in modo incrementale calcolando solo i gruppi di aggregazione interessati. Usato quando le aggregazioni come median (non solo quelle associative) sono al livello superiore della query. |
MAINTENANCE_TYPE_WINDOW_FUNCTION |
Aggiornare in modo incrementale le query con funzioni finestra, ad esempio PARTITION BY ricompilando solo le partizioni modificate. Utilizzato quando tutte le funzioni della finestra hanno una PARTITION BY clausola o JOIN e si trovano al livello superiore della query. |
Oggetto origine
Posizione in cui ha avuto origine l'evento.
| Campo | Description |
|---|---|
cloud |
Provider di servizi cloud. I valori possibili sono:
|
region |
Regione cloud |
org_id |
ID dell'organizzazione o ID dell'area di lavoro dell'utente. Univoco all'interno di un cloud. Utile per identificare l'area di lavoro o per creare un join con altre tabelle, ad esempio tabelle di fatturazione del sistema. |
pipeline_id |
ID della Pipeline. Identificatore univoco per la pipeline. Utile per identificare la pipeline, o per eseguire un join con altre tabelle, come ad esempio le tabelle di fatturazione di sistema. |
pipeline_type |
Il tipo di pipeline per mostrare il contesto in cui è stata creata. I valori possibili sono:
|
pipeline_name |
Nome della pipeline. |
cluster_id |
ID del cluster in cui si verifica un'esecuzione. Univoco a livello globale. |
update_id |
L'ID di una singola esecuzione della pipeline. Questo è equivalente a riferito all'identificativo di esecuzione. |
table_name |
Nome della tabella (Delta) in cui scrivere. |
dataset_name |
Nome completo di un set di dati. |
sink_name |
Il nome di un "sink". |
flow_id |
ID del flusso. Tiene traccia dello stato del flusso utilizzato durante più aggiornamenti. Finché flow_id rimane lo stesso, il flusso viene aggiornato in modo incrementale. La flow_id si modifica quando la visualizzazione materializzata subisce un aggiornamento completo, il checkpoint viene reimpostato o viene eseguita una ricompilazione completa. |
flow_name |
Nome del flusso. |
batch_id |
L'identificativo di un microbatch. Unico all'interno di un flusso. |
request_id |
ID della richiesta che ha causato un aggiornamento. |
Oggetto PlanNotDeterministicSubType
Enumerazione di casi non deterministici per un planning_information evento.
| Value | Description |
|---|---|
STREAMING_SOURCE |
Aggiornamento completo perché la definizione della vista materializzata include un'origine di streaming, che non è supportata. |
USER_DEFINED_FUNCTION |
Aggiornamento completo perché la vista materializzata include una funzione definita dall'utente non supportata. Sono supportate solo le UDF Python deterministiche. Altre UDF (funzioni definite dall'utente) potrebbero impedire aggiornamenti incrementali. |
TIME_FUNCTION |
Aggiornamento completo perché la vista materializzata include una funzione basata sul tempo, CURRENT_DATE ad esempio o CURRENT_TIMESTAMP. La expression_name proprietà fornisce il nome della funzione non supportata. |
NON_DETERMINISTIC_EXPRESSION |
Aggiornamento completo perché la query include un'espressione non deterministica come RANDOM(). La expression_name proprietà indica la funzione non deterministica che impedisce la manutenzione incrementale. |
Oggetto PlanNotIncrementalizableSubType
Un'enumerazione dei motivi per cui un piano di aggiornamento potrebbe non essere incrementalizzabile.
| Value | Description |
|---|---|
OPERATOR_NOT_SUPPORTED |
Aggiorna completamente perché il piano di query include un operatore non supportato. La operator_name proprietà fornisce il nome dell'operatore non supportato. |
AGGREGATE_NOT_TOP_NODE |
Aggiornamento completo perché un operatore di aggregazione (GROUP BY) non è al livello superiore del piano di query. La manutenzione incrementale supporta le aggregazioni solo al livello superiore. Valutare la possibilità di definire due viste materializzate per separare l'aggregazione. |
AGGREGATE_WITH_DISTINCT |
Aggiornamento completo perché l'aggregazione include una DISTINCT clausola , che non è supportata per gli aggiornamenti incrementali. |
AGGREGATE_WITH_UNSUPPORTED_EXPRESSION |
Aggiornamento completo perché l'aggregazione include espressioni non supportate. La expression_name proprietà indica l'espressione problematica. |
SUBQUERY_EXPRESSION |
Aggiornamento completo perché la definizione della vista materializzata include un'espressione di sottoquery, che non è supportata. |
WINDOW_FUNCTION_NOT_TOP_LEVEL |
Aggiornamento completo perché una funzione finestra non è al livello superiore del piano di query. |
WINDOW_FUNCTION_WITHOUT_PARTITION_BY |
Aggiornamento completo perché una funzione finestra è definita senza clausola PARTITION BY. |
Oggetto TableInformation
Rappresenta i dettagli di una tabella considerata durante un planning_information evento.
| Campo | Description |
|---|---|
table_name |
Nome della tabella usato nella query dal catalogo Unity o dal metastore Hive. Potrebbe non essere disponibile in caso di accesso basato sul percorso. |
table_id |
Obbligatorio. ID della tabella dal log Delta. |
catalog_table_type |
Tipo della tabella come specificato nel catalogo. |
partition_columns |
Colonne di partizione della tabella. |
table_change_type |
Modificare il tipo nella tabella. Uno di: TABLE_CHANGE_TYPE_UNKNOWN, TABLE_CHANGE_TYPE_APPEND_ONLY, TABLE_CHANGE_TYPE_GENERAL_CHANGE. |
full_size |
Dimensione intera della tabella in numero di byte. |
change_size |
Dimensioni delle righe modificate nei file modificati. Viene calcolato usando change_file_read_size * num_changed_rows / num_rows_in_changed_files. |
num_changed_partitions |
Numero di partizioni modificate. |
is_size_after_pruning |
Indica se full_size e change_size rappresentano i dati dopo l'eliminazione di file statici. |
is_row_id_enabled |
Indica se l'ID riga è abilitato nella tabella. |
is_cdf_enabled |
Indica se CDF è abilitato nella tabella. |
is_deletion_vector_enabled |
Indica se il vettore di eliminazione è abilitato nella tabella. |
is_change_from_legacy_cdf |
Indica se la modifica della tabella proviene da CDF legacy o da CDF basato su ID riga. |
Oggetto TaskSlotMetrics
Metriche dello slot di attività per un cluster. Si applica solo agli aggiornamenti della pipeline in esecuzione nel calcolo classico.
| Campo | Description |
|---|---|
summary_duration_ms |
Durata in millisecondi in cui vengono calcolate le metriche di aggregazione ( ad esempio , avg_num_task_slots). |
num_task_slots |
Numero di slot di attività Spark al momento della segnalazione. |
avg_num_task_slots |
Numero medio degli slot di attività di Spark per la durata complessiva. |
avg_task_slot_utilization |
Utilizzo medio dello slot di attività (numero di attività attive diviso per numero di slot di attività) per la durata del riepilogo. |
num_executors |
Numero di executor Spark nell'istante di creazione di report. |
avg_num_queued_tasks |
Dimensione media della coda di attività (numero totale di attività meno numero di attività attive) nel periodo di riepilogo. |
Oggetto TechniqueInformation
Aggiornare le informazioni sulla metodologia per un evento di pianificazione.
| Campo | Description |
|---|---|
maintenance_type |
Tipo di manutenzione correlato a questa informazione. Se il tipo non è MAINTENANCE_TYPE_COMPLETE_RECOMPUTE o MAINTENANCE_TYPE_NO_OP, il flusso viene aggiornato in modo incrementale.Per informazioni dettagliate, vedere Oggetto MaintenanceType. |
is_chosen |
È valido per la tecnica scelta per l'aggiornamento. |
is_applicable |
Indica se il tipo di manutenzione è applicabile. |
incrementalization_issues |
Problemi di aggiornamento incrementale che potrebbero causare un refresh completo. Per i dettagli, vedere IncrementalizationIssue Object. |
change_set_information |
Informazioni sul set di modifiche finale prodotto. I valori sono uno dei seguenti:
|