Risoluzione dei problemi con lo schema di informazioni

In qualità di amministratore BigQuery o analista di dati, la gestione dei carichi di lavoro aziendali richiede un modo affidabile e scalabile per diagnosticare i colli di bottiglia delle prestazioni, gli errori delle query, i limiti di capacità e la crescita dello spazio di archiviazione. Le visualizzazioni dello schema di informazioni di BigQuery fungono da base di osservabilità, fornendo metadati storici e in tempo reale accessibili tramite query GoogleSQL standard.

Questo documento delinea i principi fondamentali della risoluzione dei problemi di BigQuery utilizzando lo schema di informazioni, fornisce una panoramica strutturata della casella degli strumenti di risoluzione dei problemi amministrativi e ti indirizza a visualizzazioni specifiche nella libreria BigQuery.

Risoluzione dei problemi dello schema di informazioni per attività

La seguente tabella riassume le visualizzazioni dello schema di informazioni utili classificate per attività e caso d'uso diagnostico:

Attività Casi d'uso Visualizzazioni dello schema di informazioni
Prestazioni ed errori delle query
  • Identifica le query più costose e che consumano più slot.
  • Aggrega i motivi di errore dei job e i pattern di errore.
  • Analizza i tempi di esecuzione per fase e i byte di overflow.
Capacità e contesa dei carichi di lavoro
  • Rileva la contesa degli slot, la limitazione e i tempi di attesa in coda.
  • Monitora la saturazione della memoria di shuffle in memoria.
  • Controlla l'utilizzo degli slot di base e di scalabilità automatica della prenotazione.
  • Verifica le assegnazioni delle prenotazioni di progetti e cartelle.
Costi di archiviazione e architettura dei dati
  • Identifica le tabelle con spazio di archiviazione fisico o logico incontrollato.
  • Rileva l'aumento dello spazio di archiviazione di Time Travel e Fail-Safe.
  • Diagnostica l'asimmetria delle partizioni e le tabelle che si avvicinano ai limiti delle partizioni.
  • Scopri le tabelle scadute o eliminate nelle finestre di Time Travel.
Controllo dell'accesso e governance
  • Controlla le concessioni esplicite dei ruoli IAM (Identity and Access Management) su tabelle e set di dati.
  • Risolvi gli errori di accesso negato per utenti e account di servizio.
  • Monitora la condivisione dei set di dati tra progetti e l'utilizzo analitico.
Pipeline di importazione dati
  • Monitora la velocità effettiva e gli errori di importazione dell'API Storage Write.
  • Diagnostica la latenza e i limiti di frequenza inserimento di flussi di dati.
  • Identifica gli stream non riusciti in base al tipo di stream e al codice di errore.
Machine learning e ricerca vettoriale
  • Monitora la durata dell'addestramento del modello e il consumo di risorse.
  • Controlla lo stato di creazione dell'indice vettoriale e la percentuale di copertura.
  • Risolvi i problemi relativi alle build di routine memorizzate e UDF Python.
Informazioni sull'ottimizzazione dei carichi di lavoro
  • Esamina i suggerimenti di partizionamento e clustering automatici.
  • Identifica le tabelle candidate per le vista materializzata.

Principi di risoluzione dei problemi con lo schema di informazioni

Quando diagnostichi problemi relativi al carico di lavoro o all'ambiente in BigQuery, applica i seguenti principi fondamentali:

  • Definisci l'ambito per regione, set di dati e progetto. La gestione dei carichi di lavoro e le risorse di calcolo di BigQuery vengono eseguite entro i limiti regionali. Considera quanto segue:

    • Specifica sempre il qualificatore regionale corretto (ad esempio, region-REGION.INFORMATION_SCHEMA.JOBS_BY_PROJECT) o il qualificatore del set di dati.

    • Scegli il livello di gerarchia appropriato (BY_PROJECT, BY_USER, BY_FOLDER o BY_ORGANIZATION) a seconda che tu stia esaminando un problema di un singolo utente, un carico di lavoro specifico del progetto o un problema a livello di tenant.

  • Correlare la domanda di calcolo con la capacità. Le prestazioni lente delle query sono spesso il risultato della contesa degli slot anziché solo di un SQL inefficiente. Confronta le richieste di risorse dei job (period_estimated_runnable_units) con gli slot di prenotazione allocati (period_slot_ms) in finestre temporali identiche per distinguere tra le opportunità di ottimizzazione delle query e i problemi causati da una capacità insufficiente.

  • Tieni conto della granularità della telemetria e dei limiti di conservazione. Le diverse visualizzazioni dello schema di informazioni operano su intervalli di aggiornamento e finestre di conservazione dei dati distinti. I metadati dei job nella visualizzazione JOBS sono disponibili per 180 giorni, mentre le metriche della sequenza temporale ad alta risoluzione nelle JOBS_TIMELINE e RESERVATIONS_TIMELINE visualizzazioni vengono conservate per periodi più brevi (in genere da 14 a 30 giorni). Per l'audit a lungo termine e l'analisi delle tendenze, devi esportare la telemetria in tabelle partizionate.

  • Evita la distorsione delle metriche nelle query con più istruzioni. Gli script con più istruzioni (SQL procedurale contenente DECLARE, IF o WHILE) generano un job principale con statement_type = 'SCRIPT' e singoli job secondari per ogni istruzione. Quando aggreghi metriche come total_slot_ms o total_bytes_billed, filtra statement_type = 'SCRIPT' per evitare il doppio conteggio.

  • Filtra le colonne di partizionamento. Per ridurre al minimo il tempo di esecuzione delle query ed evitare costi di scansione non necessari per l'analisi on demand, includi sempre filtri temporali restrittivi nelle colonne di partizionamento come creation_time, job_start_time o period_start.

Passaggi successivi

  • Per ulteriori informazioni sulla sintassi dello schema di informazioni e per un elenco delle visualizzazioni disponibili, consulta la pagina Introduzione a INFORMATION_SCHEMA.
  • Per scoprire come visualizzare i dettagli dei job, elencare i job attivi e annullare i job in esecuzione, consulta la pagina Gestire i job.