Introduzione alla risoluzione dei problemi
Questo documento fornisce una panoramica degli strumenti di diagnostica, delle interfacce di telemetria e delle risorse di documentazione disponibili per aiutarti a risolvere i problemi in BigQuery.
Quando si verificano errori di query, colli di bottiglia delle prestazioni, errori di autorizzazione, limiti di quota o problemiimportazione datii, BigQuery fornisce strumenti integrati per aiutarti a identificare le cause principali e risolvere rapidamente i problemi.
Risoluzione dei problemi del workflow
Per risolvere un problema in BigQuery in modo efficace, considera i seguenti criteri diagnostici:
- Identifica il sintomo e la modalità di errore. Esamina i risultati del task per determinare se il problema è un errore irreversibile (ad esempio un codice di errore o un errore del job), un peggioramento delle prestazioni (ad esempio una query lenta o un'interruzione dello slot), un rifiuto dell'autorizzazione o una discrepanza di costi imprevista.
- Esamina i dettagli di esecuzione del job. Utilizza la console Cloud de Confiance , l'explorer dei job, il grafico di esecuzione delle query o gli strumenti a riga di comando per esaminare i tempi a livello di fase, l'allocazione degli slot e i dettagli degli errori. Puoi anche chiedere a Gemini Cloud Assist di esaminare il tuo problema.
- Analizza la telemetria e i metadati. Esegui query sulle viste dello schema delle informazioni o esamina Cloud Audit Logs per correlare il comportamento dei job con la contesa delle risorse, i limiti di prenotazione o le modifiche amministrative.
- Applica mitigazioni mirate. Utilizza le guide alla risoluzione dei problemi specifiche per categoria o le funzioni SQL difensive per risolvere la causa sottostante.
Distinguere la risoluzione dei problemi dall'ottimizzazione
Quando lavori con BigQuery, è importante distinguere tra risoluzione dei problemi, ottimizzazione delle prestazioni e best practice:
- Risoluzione dei problemi. Si concentra sulla diagnosi e sulla risoluzione di errori imprevisti, errori di runtime, pipeline interrotte, esaurimento della quota o comportamento imprevisto che impedisce il completamento corretto dei job.
- Ottimizzazione del rendimento. Si concentra sul miglioramento della velocità di esecuzione, della latenza o dell'efficienza delle risorse di query e carichi di lavoro già in esecuzione. Per saperne di più, consulta Ottimizzare le prestazioni delle query.
- Best practice. Si concentra sui modelli di architettura e progettazione per la modellazione, l'archiviazione, la sicurezza e la gestione dei costi dei dati. Per saperne di più, consulta la sezione Introduzione alle best practice.
Strumenti di diagnostica
Le sezioni seguenti descrivono diverse interfacce BigQuery e strumenti automatizzati per aiutarti a diagnosticare i problemi nei tuoi workload.
Strumenti visivi e della console
I seguenti strumenti ti aiutano a risolvere i problemi di BigQuery dalla consoleCloud de Confiance .
- Esplora job. Cerca, filtra ed esamina i job passati e in esecuzione in progetti o organizzazioni senza scrivere query SQL. Puoi visualizzare messaggi di errore, utilizzo degli slot, cronologie di esecuzione e metadati dei job. Per saperne di più, consulta Monitora i job in Esplora job.
- Grafico di esecuzione delle query. Esamina il piano di esecuzione visivo fase per fase per una query. Il grafico di esecuzione ti aiuta a identificare i colli di bottiglia, ad esempio gli spill di shuffling su disco, le fasi vincolate al calcolo, la distorsione dei dati o i ritardi di input/output. Per saperne di più, consulta Ottenere approfondimenti sul rendimento delle query.
- Query Insights e grafici delle risorse. Visualizza grafici in tempo reale e storici dell'utilizzo degli slot, della concorrenza dei job e delle allocazioni delle prenotazioni per diagnosticare i vincoli di capacità. Per saperne di più, consulta Utilizzare i grafici delle risorse amministrative.
- Gemini Cloud Assist in BigQuery. Ricevi analisi contestuali basate sull'AI di query non riuscite e colli di bottiglia delle prestazioni. Gemini Cloud Assist spiega i codici di errore, evidenzia la sintassi SQL problematica e suggerisce i passaggi di correzione direttamente nella consoleCloud de Confiance . Per saperne di più, vedi Risolvi i problemi relativi alle query utilizzando Gemini Cloud Assist.
Strumenti di diagnostica automatizzati e a riga di comando
I seguenti strumenti possono aiutarti a diagnosticare i problemi di BigQuery da un'interfaccia a riga di comando.
- Strumento a riga di comando bq. Esamina le strutture degli errori dettagliate, gli ID richiesta e i metadati dei job utilizzando il comando
bq show -j <var>JOB_ID</var>o aggiungendo il flag--format=prettyjsonai comandi di query. Per saperne di più, consulta la sezione Risoluzione dei problemi relativi ai comandi della CLI. - strumento
gcpdiag. Esegui la diagnostica automatica dalla riga di comando per rilevare problemi di configurazione Cloud de Confiance comuni, tra cui lacune nelle autorizzazioni IAM, limitazioni di rete ed errori del account di servizio. Per saperne di più, consulta la sezione Risolvere gli errori delle query utilizzandogcpdiag.
Visualizzazioni di metadati e telemetria
Le viste dello schema delle informazioni consentono di eseguire query sui metadati storici e in tempo reale relativi a job, capacità, importazione di flussi di dati e set di dati utilizzando SQL standard. Queste visualizzazioni includono:
- Telemetria di esecuzione dei job. Query
INFORMATION_SCHEMA.JOBSeINFORMATION_SCHEMA.JOBS_TIMELINEper analizzare il consumo di slot-millisecondi, i byte spillati, i tempi di coda e i codici di errore nei vari job. - Prenotazioni e capacità. Query
INFORMATION_SCHEMA.RESERVATIONSeINFORMATION_SCHEMA.CAPACITY_COMMITMENTSper diagnosticare l'allocazione degli slot, i limiti di prenotazione e i comportamenti di scalabilità automatica. - Streaming e importazione. Query
INFORMATION_SCHEMA.STREAMING_TIMELINEper identificare la latenza di importazione e i limiti di frequenza di streaming. - Integrità dell'archiviazione e della partizione. Query
INFORMATION_SCHEMA.TABLE_STORAGEper esaminare le dimensioni delle tabelle fisiche, lo spazio di archiviazione attivo rispetto a quello a lungo termine e la distribuzione delle partizioni.
Per saperne di più, consulta Introduzione a BigQuery INFORMATION_SCHEMA.
Cloud Monitoring e Cloud Audit Logs
- Cloud Audit Logs. Esamina i log di controllo delle attività di amministrazione e dell'accesso ai dati per monitorare
chi ha avviato operazioni specifiche, ispezionare le identità del chiamante e diagnosticare
gli errori
PERMISSION_DENIED. Per saperne di più, consulta la Guida di riferimento ai log di controllo di BigQuery. - Cloud Monitoring. Monitora metriche come l'utilizzo degli slot, le durate di esecuzione delle query e i byte caricati e configura le policy di avviso per inviare una notifica al tuo team quando vengono superate le soglie o le quote. Per ulteriori informazioni, consulta Monitorare BigQuery utilizzando Cloud Monitoring.
Funzioni SQL difensive e istruzioni di debug
Per evitare che le query non vadano a buon fine in modo imprevisto a causa di errori nei dati di runtime, utilizza quanto segue:
- Espressioni sicure. Utilizza
SAFE_CAST(),SAFE_DIVIDE(),SAFE_OFFSET()eSAFE_ORDINAL()per restituireNULLanziché generare errori di runtime quando i tipi di dati o i limiti degli array non corrispondono. La maggior parte delle funzioni scalari supporta il prefissoSAFE.. Per saperne di più, consulta Debug delle funzioni e prefissoSAFE.. - Asserzioni SQL. Utilizza l'istruzione
ASSERTnelle transazioni o negli script con più istruzioni per applicare le condizioni di convalida dei dati e generare messaggi di errore personalizzati prima dell'esecuzione delle operazioni downstream. Per ulteriori informazioni, consulta Istruzioni di debug.
Risolvere i problemi per categoria
Seleziona una categoria dalle sezioni seguenti per visualizzare codici di errore dettagliati, cause principali e guide passo passo per la risoluzione dei problemi.
Prestazioni ed esecuzione delle query
Diagnostica le query che non vengono eseguite, che vanno in timeout, che riscontrano vincoli delle risorse o che subiscono ritardi imprevisti.
- Risolvi i problemi relativi alle query. Risolvi
resourcesExceedederrori, esecuzione lenta delle query, spill di shuffle, condizioni di memoria insufficiente e errori delle query pianificate. - Risolvi i problemi relativi ai tempi di attesa lunghi per le query. Diagnostica i colli di bottiglia della concorrenza e le query in coda a causa dei limiti della coda interattiva o batch.
- Riferimento ai messaggi di errore. Cerca codici di errore HTTP specifici, stringhe del motivo dell'errore e azioni consigliate.
Identity and Access Management (IAM) e sicurezza
Diagnostica gli errori di controllo dell'accesso, le assegnazioni di ruoli mancanti e i blocchi delle policy di governance dei dati.
- Risolvi i problemi relativi alle autorizzazioni IAM in BigQuery. Diagnostica gli errori di autorizzazione negata, concedi i ruoli IAM mancanti e utilizza Policy Troubleshooter.
- Risolvi i problemi relativi ai Controlli di servizio VPC. Identifica e risolvi le violazioni del perimetro e i blocchi di regole in entrata o in uscita.
- Risolvi i problemi relativi alla sicurezza a livello di riga e di colonna. Risolvi i problemi di accesso correlati a policy dei dati, tag di policy e filtri di accesso alle righe.
Quote, limiti di frequenza e prenotazioni
Risolvi i problemi quando i workload superano i limiti di servizio di BigQuery o le allocazioni di capacità.
- Risolvi i problemi relativi a quote e limiti. Identifica le quote regolabili e non regolabili, gestisci i limiti di query simultanee e risolvi gli errori di limite di frequenza dell'API.
- Risolvi i problemi relativi alla gestione dei carichi di lavoro BigQuery. Diagnostica problemi di carenza di slot, mancata corrispondenza dell'assegnazione delle prenotazioni, ritardi nell'impegno di capacità, contesa degli slot e problemi di monitoraggio delle prenotazioni.
Importazione, streaming e trasferimenti di dati
Diagnostica gli errori durante il caricamento dei dati, lo streaming dei record o la sincronizzazione di origini esterne.
- Risolvi i problemi relativi ai trasferimenti di dati. Diagnostica i problemi di BigQuery Data Transfer Service, la connettività di rete per i trasferimenti privati e gli errori di caricamento dei dati CSV.
- Risolvi i problemi relativi alle configurazioni di trasferimento. Risolvi gli errori di configurazione del servizio BigQuery Data Transfer Service in origini come Amazon Simple Storage Service (Amazon S3), Salesforce, Google Ads e Cloud Storage.
- Risolvi i problemi relativi all'API BigQuery Storage. Esegui il debug dell'API BigQuery Storage Read, dell'API BigQuery Storage Write (gRPC) e dell'API BigQuery Storage Write (REST), degli errori di acquisizione di importazione di flussi di dati, degli errori di inserimento a livello di riga e delle quote di velocità effettiva.
Migrazione dei data warehouse
Diagnosticare i problemi durante la valutazione, la traduzione o la migrazione di data warehouse esterni a BigQuery.
- Risolvi i problemi di migrazione. Risolvi gli errori di valutazione della migrazione, i problemi di traduzione SQL interattiva e batch e gli errori di estrazione dei metadati.
Origini dati esterne e query federate
Diagnosticare errori di connettività, autenticazione ed esecuzione durante l'esecuzione di query sui dati al di fuori di BigQuery.
- Risolvi i problemi relativi alle query federate di Cloud SQL. Risolvi i timeout di connessione, i problemi di configurazione dell'istanza e gli errori delle credenziali.
Discrepanze nella fatturazione e nei costi
Esamina addebiti imprevisti e discrepanze di fatturazione per calcolo e archiviazione.
- Risolvi i problemi relativi alle discrepanze di costo di BigQuery. Identifica l'origine degli addebiti imprevisti, analizza i byte on demand fatturati e verifica l'utilizzo dell'impegno di capacità.
Mitigazione della perdita di dati
Per recuperare i dati storici modificati o eliminati o per mantenere la continuità aziendale durante un'interruzione a livello di regione, utilizza i seguenti strumenti di ripristino di emergenza e conservazione dei dati:
- Ripristina i dati. Esegui query o ripristina i dati delle tabelle modificati o eliminati all'interno della finestra di spostamento cronologico. Per saperne di più, vedi Ripristinare i dati.
- Viaggio nel tempo. Conserva i dati aggiornati o eliminati in un set di dati per un periodo di conservazione configurato per proteggere da modifiche accidentali. Per ulteriori informazioni, vedi Viaggio nel tempo.
- Failover regionale. Promuovi una replica secondaria al ruolo primario durante un'interruzione regionale quando utilizzi il recupero di emergenza gestito da BigQuery. Per saperne di più, consulta Failover a livello di regione.
Utilizzo delle API
Quando interagisci con BigQuery a livello di programmazione, utilizza le seguenti risorse per ottimizzare la latenza delle richieste e gestire i flussi di lavoro di caricamento:
- Suggerimenti per le prestazioni dell'API. Segui le best practice per effettuare chiamate API, ad esempio gestire i pool di connessioni, utilizzare le operazioni batch e gestire i tentativi. Per saperne di più, consulta Suggerimenti per le prestazioni dell'API.
- Caricamenti tramite API. Risolvi i problemi e gestisci l'importazione dati utilizzando richieste di caricamento ripristinabili e in più parti dell'API REST. Per saperne di più, consulta la sezione Caricamenti API.
Passaggi successivi
- Scopri di più sul monitoraggio di BigQuery.
- Esplora il riferimento
INFORMATION_SCHEMABigQuery. - Contatta l'assistenza clienti Google Cloud per ricevere assistenza in caso di problemi di produzione persistenti o critici.