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 problemi di importazione dati, BigQuery fornisce strumenti integrati per aiutarti a identificare le cause principali e risolvere rapidamente i problemi.
Workflow di risoluzione dei problemi
Per risolvere un problema in BigQuery in modo efficace, considera i seguenti criteri di diagnostica:
- Identifica il sintomo e la modalità di errore. Esamina i risultati dell'attività per determinare se il problema è un errore grave (ad esempio un codice di errore o un job non riuscito), un peggioramento delle prestazioni (ad esempio una query lenta o una mancanza di slot), un rifiuto dell'autorizzazione o una discrepanza di costo imprevista.
- Esamina i dettagli di esecuzione del job di ispezione. Utilizza Esplora job della console Google Cloud , il grafico di esecuzione delle query o gli strumenti a riga di comando per esaminare le tempistiche a livello di fase, l'allocazione degli slot e i dettagli degli errori. Puoi anche chiedere a Gemini Cloud Assist di esaminare il problema.
- Analizza la telemetria e i metadati. Esegui query sulle viste dello schema di 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 comportamenti indesiderati che impediscono il completamento dei job.
- Ottimizzazione delle prestazioni. Si concentra sul miglioramento della velocità di esecuzione, della latenza o dell'efficienza delle risorse di query e workload già in esecuzione. Per ulteriori informazioni, consulta Ottimizza le prestazioni delle query.
- Best practice. Si concentra sui pattern di architettura e progettazione per la modellazione, l'archiviazione, la sicurezza e la gestione dei costi dei dati. Per saperne di più, consulta Introduzione alle best practice.
Strumenti di diagnostica
Le sezioni seguenti descrivono diverse interfacce e strumenti automatici di BigQuery 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 consoleGoogle Cloud .
- Esplora job. Cerca, filtra e ispeziona i job passati e in esecuzione in progetti o organizzazioni senza scrivere query SQL. Puoi visualizzare i messaggi di errore, l'utilizzo degli slot, le cronologie di esecuzione e i metadati dei job. Per saperne di più, consulta Monitora i job in Explorer job.
- Grafico di esecuzione delle query. Esamina il piano di esecuzione visivo fase per fase di una query. Il grafico di esecuzione ti aiuta a identificare colli di bottiglia come lo spill di shuffle su disco, le fasi con vincoli di calcolo, la distorsione dei dati o i ritardi di input/output. Per saperne di più, consulta Ottieni insight sulle prestazioni delle query.
- Query Insights e grafici delle risorse. Visualizza grafici in tempo reale e storici dell'utilizzo degli slot, della contemporaneità dei job e delle allocazioni delle prenotazioni per diagnosticare i vincoli di capacità. Per saperne di più, consulta Utilizza i grafici delle risorse amministrative.
- Gemini Cloud Assist in BigQuery. Ricevi un'analisi contestuale assistita dall'AI delle query non riuscite e dei 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 consoleGoogle Cloud . Per saperne di più, consulta Risolvi i problemi delle 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 dettagliate degli errori, 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 Risoluzione dei problemi relativi ai comandi dell'interfaccia a riga di comando. - strumento
gcpdiag. Esegui la diagnostica automatizzata dalla riga di comando per rilevare problemi di configurazione comuni di Google Cloud , tra cui lacune nelle autorizzazioni IAM, limitazioni di rete ed errori dei account di servizio. Per saperne di più, consulta Risolvi i problemi relativi alle query utilizzandogcpdiag.
Visualizzazioni di metadati e telemetria
Le viste Information Schema 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. Esegui query su
INFORMATION_SCHEMA.JOBSeINFORMATION_SCHEMA.JOBS_TIMELINEper analizzare il consumo di slot-millisecondi, i byte trasferiti, i tempi di coda e i codici di errore nei job. - Prenotazioni e capacità. Esegui query su
INFORMATION_SCHEMA.RESERVATIONSeINFORMATION_SCHEMA.CAPACITY_COMMITMENTSper diagnosticare l'allocazione degli slot, i limiti delle prenotazioni e i comportamenti di scalabilità automatica. - Streaming e importazione. Esegui query su
INFORMATION_SCHEMA.STREAMING_TIMELINEper identificare la latenza di importazione e i limiti di frequenza di streaming. - Integrità dello spazio di archiviazione e delle partizioni. Esegui una query su
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 gli audit log delle attività di amministrazione e del controllo dell'accesso ai dati per rintracciare chi ha avviato operazioni specifiche, ispezionare le identità dei chiamanti e diagnosticare gli errori di
PERMISSION_DENIED. Per saperne di più, consulta il riferimento per l'audit logging di BigQuery. - Cloud Monitoring. Monitora metriche come l'utilizzo degli slot, la durata dell'esecuzione delle query e i byte caricati e configura le policy di avviso per informare il tuo team quando vengono superate le soglie o le quote. Per saperne di più, consulta Monitora 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 dei 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
ASSERTin transazioni o script con più istruzioni per applicare le condizioni di convalida dei dati e generare errori con messaggi di errore personalizzati prima dell'esecuzione delle operazioni downstream. Per ulteriori informazioni, vedere Istruzioni di debug.
Risolvi i problemi per categoria
Seleziona una categoria dalle sezioni seguenti per visualizzare codici di errore dettagliati, cause principali e guide alla risoluzione passo passo.
Prestazioni ed esecuzione delle query
Diagnostica le query che non vengono eseguite, vanno in timeout, riscontrano vincoli delle risorse o subiscono ritardi imprevisti.
- Risolvi i problemi relativi alle query. Risolvi gli errori
resourcesExceeded, l'esecuzione lenta delle query, lo shuffle spill, le condizioni di memoria esaurita e gli errori delle query pianificate. - Risolvi i problemi relativi ai tempi di coda delle query lunghi. 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, stringhe dei motivi degli errori e azioni consigliate specifici.
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 delle regole in entrata o in uscita.
- Risolvi i problemi di sicurezza a livello di riga e di colonna. Risolvi i problemi di accesso relativi alle policy sui dati, ai tag di policy e ai filtri di accesso alle righe.
Quote, limiti di frequenza e prenotazioni
Risolvi i problemi quando i workload superano i limiti del servizio BigQuery o le allocazioni di capacità.
- Risolvi i problemi relativi a quote e limiti. Identifica le quote modificabili e quelle non modificabili, gestisci i limiti delle query simultanee e risolvi gli errori di limitazione di frequenza dell'API.
- Risolvi i problemi di gestione del workload di BigQuery. Diagnostica i problemi di carenza di slot, mancata corrispondenza delle assegnazioni delle prenotazioni, ritardi negli impegni di capacità, conflitto di slot e monitoraggio delle prenotazioni.
Importazione, flussi e trasferimenti di dati
Diagnostica gli errori durante il caricamento dei dati, lo streaming dei record o la sincronizzazione delle 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 degli errori di importazione di flussi di dati dei flussi di dati, degli errori di inserimento a livello di riga e delle quote di throughput dell'API BigQuery Storage Read, dell'API BigQuery Storage Write (gRPC) e dell'API BigQuery Storage Write (REST).
- Risolvi gli errori dello schema. Risolvi gli errori di mancata corrispondenza dello schema relativi alle operazioni di caricamento, query, copia e aggiornamento dello schema (ad esempio modifiche alle colonne mancanti, duplicate o incompatibili) e ai limiti di profondità di nidificazione di schemi, file e routine di 15 livelli.
Migrazione dei data warehouse
Diagnostica 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
Diagnostica gli errori di connettività, autenticazione ed esecuzione durante l'esecuzione di query sui dati all'esterno di BigQuery.
- Risolvi i problemi relativi alle query federate di Cloud SQL. Risolvi i timeout di connessione, i problemi di configurazione delle istanze e gli errori delle credenziali.
Discrepanze nella fatturazione e nei costi
Esamina gli addebiti imprevisti e le discrepanze di fatturazione tra computing e archiviazione.
- Risolvi i problemi relativi alle discrepanze di costo di BigQuery. Identificare l'origine degli addebiti imprevisti, analizzare i byte on demand fatturati e verificare l'utilizzo degli impegni 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 della tabella che sono stati modificati o eliminati all'interno della finestra di viaggio nel tempo. Per saperne di più, consulta Ripristina i dati.
- Viaggio nel tempo. Conserva i dati aggiornati o eliminati in un set di dati per un periodo di conservazione configurato per proteggerli da modifiche accidentali. Per saperne di più, consulta Viaggio nel tempo.
- Failover a livello di regione. Promuovi una replica secondaria al ruolo principale durante un'interruzione a livello di regione quando utilizzi il disaster recovery gestito da BigQuery. Per saperne di più, consulta Failover a livello di regione.
Utilizzo delle API
Quando interagisci con BigQuery in modo programmatico, 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 la gestione dei pool di connessioni, l'utilizzo di operazioni batch e la gestione dei nuovi tentativi. Per saperne di più, consulta i suggerimenti per le prestazioni dell'API.
- Caricamenti tramite API. Risolvi i problemi e gestisci l'importazione dati utilizzando le richieste di caricamento multiparte e con possibilità di ripresa dell'API REST. Per saperne di più, consulta Caricamenti API.
Autenticazione e ADC
Per assistenza nella risoluzione dei problemi comuni che potresti riscontrare durante l'utilizzo Credenziali predefinite dell'applicazione (ADC), consulta Risolvi i problemi di configurazione di ADC.
Passaggi successivi
- Scopri di più sul monitoraggio di BigQuery.
- Esplora la documentazione di riferimento di BigQuery
INFORMATION_SCHEMA. - Contatta l'assistenza clienti Google Cloud per ricevere assistenza in caso di problemi di produzione persistenti o critici.