Présentation du dépannage
Ce document présente les outils de diagnostic, les interfaces de télémétrie et les ressources de documentation disponibles pour vous aider à résoudre les problèmes dans BigQuery.
Lorsque vous rencontrez des échecs de requêtes, des goulots d'étranglement des performances, des erreurs d'autorisation, des limites de quota ou des problèmes d'ingestion de données, BigQuery fournit des outils intégrés pour vous aider à identifier les causes profondes et à résoudre rapidement les problèmes.
Résoudre un problème lié aux workflows
Pour résoudre efficacement un problème dans BigQuery, tenez compte des critères de diagnostic suivants :
- Identifiez le symptôme et le mode de défaillance. Examinez les résultats de votre tâche pour déterminer si le problème est un échec complet (par exemple, un code d'erreur ou un échec de tâche), une dégradation des performances (par exemple, une requête lente ou une pénurie de créneaux), un refus d'autorisation ou un écart de coût inattendu.
- Inspectez les détails d'exécution du job. Utilisez l'explorateur de jobs de la console Cloud de Confiance , le graphique d'exécution des requêtes ou les outils de ligne de commande pour examiner les timings au niveau des étapes, l'allocation des emplacements et les détails des erreurs. Vous pouvez également demander à Gemini Cloud Assist d'examiner votre problème.
- Analysez la télémétrie et les métadonnées. Interrogez les vues du schéma d'information ou inspectez Cloud Audit Logs pour corréler le comportement des jobs avec la contention des ressources, les limites de réservation ou les modifications administratives.
- Appliquez des mesures d'atténuation ciblées. Utilisez les guides de dépannage spécifiques à chaque catégorie ou les fonctions SQL défensives pour résoudre le problème sous-jacent.
Distinguer le dépannage de l'optimisation
Lorsque vous travaillez avec BigQuery, il est important de faire la distinction entre le dépannage, l'optimisation des performances et les bonnes pratiques :
- Dépannage. Se concentre sur le diagnostic et la résolution des échecs inattendus, des erreurs d'exécution, des pipelines défectueux, de l'épuisement du quota ou des comportements involontaires qui empêchent les jobs de se terminer correctement.
- Optimisation des performances Il s'agit d'améliorer la vitesse d'exécution, la latence ou l'efficacité des ressources des requêtes et des charges de travail qui s'exécutent déjà correctement. Pour en savoir plus, consultez Optimiser les performances des requêtes.
- Bonnes pratiques : Se concentre sur les modèles d'architecture et de conception pour la modélisation, le stockage, la sécurité et la gestion des coûts des données. Pour en savoir plus, consultez Présentation des bonnes pratiques.
Outils de diagnostic
Les sections suivantes décrivent plusieurs interfaces et outils automatisés BigQuery pour vous aider à diagnostiquer les problèmes liés à vos charges de travail.
Outils visuels et de console
Les outils suivants vous aident à résoudre les problèmes liés à BigQuery depuis la consoleCloud de Confiance .
- Explorateur de jobs : Recherchez, filtrez et inspectez les jobs passés et en cours dans les projets ou les organisations sans écrire de requêtes SQL. Vous pouvez afficher les messages d'erreur, l'utilisation des emplacements, les chronologies d'exécution et les métadonnées des jobs. Pour en savoir plus, consultez Surveiller les jobs dans l'explorateur de jobs.
- Graphique d'exécution de la requête Inspectez le plan d'exécution visuel étape par étape d'une requête. Le graphique d'exécution vous aide à identifier les goulots d'étranglement, tels que les déversements de shuffle sur le disque, les étapes liées au calcul, l'asymétrie des données ou les retards d'entrée/sortie. Pour en savoir plus, consultez Obtenir des insights sur les performances des requêtes.
- Insights sur les requêtes et graphiques de ressources. Affichez des graphiques en temps réel et historiques sur l'utilisation des emplacements, la simultanéité des jobs et les allocations de réservations pour diagnostiquer les contraintes de capacité. Pour en savoir plus, consultez Utiliser des graphiques de ressources d'administration.
- Gemini Cloud Assist dans BigQuery Obtenez une analyse contextuelle assistée par l'IA des requêtes ayant échoué et des goulots d'étranglement des performances. Gemini Cloud Assist explique les codes d'erreur, met en évidence la syntaxe SQL problématique et suggère des étapes de correction directement dans la consoleCloud de Confiance . Pour en savoir plus, consultez Résoudre les problèmes liés aux requêtes à l'aide de Gemini Cloud Assist.
Outils de diagnostic automatisés et en ligne de commande
Les outils suivants peuvent vous aider à diagnostiquer les problèmes BigQuery à partir d'une interface de ligne de commande.
- Outil de ligne de commande bq Inspectez les structures d'erreur détaillées, les ID de requête et les métadonnées de job à l'aide de la commande
bq show -j <var>JOB_ID</var>ou en ajoutant l'indicateur--format=prettyjsonaux commandes de requête. Pour en savoir plus, consultez Dépannage des commandes CLI. - Outil
gcpdiagExécutez des diagnostics automatisés à partir de la ligne de commande pour détecter les problèmes de configuration courants Cloud de Confiance , y compris les lacunes d'autorisation IAM, les restrictions réseau et les erreurs de compte de service. Pour en savoir plus, consultez Résoudre les échecs de requêtes à l'aide degcpdiag.
Vues des métadonnées et de la télémétrie
Les vues du schéma d'information vous permettent d'interroger des métadonnées historiques et en temps réel sur les jobs, la capacité, l'ingestion en flux continu et les ensembles de données à l'aide du langage SQL standard. Voici quelques exemples de vues :
- Télémétrie d'exécution des jobs. Requête
INFORMATION_SCHEMA.JOBSetINFORMATION_SCHEMA.JOBS_TIMELINEpour analyser la consommation de millisecondes d'emplacement, les octets transférés, les temps d'attente et les codes d'erreur pour les différents jobs. - Réservations et capacité Interrogez
INFORMATION_SCHEMA.RESERVATIONSetINFORMATION_SCHEMA.CAPACITY_COMMITMENTSpour diagnostiquer l'allocation d'emplacements, les limites de réservation et les comportements d'autoscaling. - Diffusion et ingestion : Requête
INFORMATION_SCHEMA.STREAMING_TIMELINEpour identifier la latence d'ingestion et les limites de débit de streaming. - État du stockage et des partitions. Requête
INFORMATION_SCHEMA.TABLE_STORAGEpour inspecter la taille physique des tables, le stockage actif par rapport au stockage à long terme et la distribution des partitions.
Pour en savoir plus, consultez la page Présentation de BigQuery INFORMATION_SCHEMA.
Cloud Monitoring et Cloud Audit Logs
- Cloud Audit Logs Consultez les journaux d'audit des activités d'administration et des accès aux données pour savoir qui a lancé des opérations spécifiques, inspecter les identités des appelants et diagnostiquer les erreurs
PERMISSION_DENIED. Pour en savoir plus, consultez la documentation de référence sur la journalisation d'audit BigQuery. - Cloud Monitoring Suivez des métriques telles que l'utilisation des emplacements, la durée d'exécution des requêtes et les octets importés, et configurez des règles d'alerte pour avertir votre équipe lorsque des seuils ou des quotas sont dépassés. Pour en savoir plus, consultez Surveiller BigQuery à l'aide de Cloud Monitoring.
Fonctions SQL défensives et instructions de débogage
Pour éviter que les requêtes échouent de manière inattendue en raison d'erreurs de données d'exécution, utilisez les éléments suivants :
- Expressions sûres Utilisez
SAFE_CAST(),SAFE_DIVIDE(),SAFE_OFFSET()etSAFE_ORDINAL()pour renvoyerNULLau lieu de générer des erreurs d'exécution lorsque les types de données ou les limites de tableaux ne correspondent pas. La plupart des fonctions scalaires sont compatibles avec le préfixeSAFE.. Pour en savoir plus, consultez Déboguer des fonctions et PréfixeSAFE.. - Assertions SQL Utilisez l'instruction
ASSERTdans les transactions ou scripts à plusieurs instructions pour appliquer des conditions de validation des données et échouer avec des messages d'erreur personnalisés avant l'exécution des opérations en aval. Pour en savoir plus, consultez Instructions de débogage.
Résoudre les problèmes par catégorie
Sélectionnez une catégorie dans les sections suivantes pour afficher les codes d'erreur détaillés, les causes premières et les guides de résolution étape par étape.
Performances et exécution des requêtes
Diagnostiquez les requêtes qui ne s'exécutent pas, qui expirent, qui rencontrent des contraintes de ressources ou qui subissent des retards inattendus.
- Résoudre les problèmes liés aux requêtes Résolvez les erreurs
resourcesExceeded, l'exécution lente des requêtes, le déversement du shuffle, les conditions de mémoire insuffisante et les échecs de requêtes planifiées. - Résoudre les problèmes de temps d'attente longs pour les requêtes Diagnostiquez les goulots d'étranglement de simultanéité et les requêtes mises en file d'attente en raison des limites de file d'attente interactive ou par lot.
- Informations de référence sur les messages d'erreur Recherchez des codes d'erreur HTTP spécifiques, des chaînes de motif d'erreur et des actions recommandées.
Identity and Access Management (IAM) et sécurité
Diagnostiquez les échecs de contrôle des accès, les attributions de rôles manquantes et les blocages des règles de gouvernance des données.
- Résoudre les problèmes d'autorisations IAM dans BigQuery Diagnostiquez les erreurs d'autorisation refusée, accordez les rôles IAM manquants et utilisez Policy Troubleshooter.
- Résoudre les problèmes liés à VPC Service Controls Identifiez et résolvez les cas de non-respect des périmètres et les blocages des règles d'entrée ou de sortie.
- Résoudre les problèmes de sécurité au niveau des lignes et des colonnes Résolvez les problèmes d'accès liés aux stratégies de données, aux tags avec stratégie et aux filtres d'accès aux lignes.
Quotas, limites de débit et réservations
Résolvez les problèmes lorsque les charges de travail dépassent les limites de service ou les allocations de capacité BigQuery.
- Résoudre les erreurs de quota et de limite Identifier les quotas ajustables et non ajustables, gérer les limites de requêtes simultanées et résoudre les erreurs de limite de fréquence de l'API.
- Résoudre les problèmes de gestion de la charge de travail BigQuery Diagnostiquez les problèmes de manque d'emplacements, d'incohérence des attributions de réservation, de retard d'engagement de capacité, de conflit d'emplacements et de surveillance des réservations.
Ingestion, flux et transferts de données
Diagnostiquez les échecs lors du chargement de données, du streaming d'enregistrements ou de la synchronisation de sources externes.
- Résoudre les problèmes liés aux transferts de données Diagnostiquez les problèmes liés au service de transfert de données BigQuery, à la connectivité réseau pour les transferts privés et aux erreurs de chargement de données CSV.
- Résoudre les problèmes liés aux configurations de transfert Résolvez les erreurs de configuration du service de transfert de données BigQuery pour des sources telles qu'Amazon Simple Storage Service (Amazon S3), Salesforce, Google Ads et Cloud Storage.
- Résoudre les problèmes liés à l'API BigQuery Storage Déboguez les échecs d'ingestion en flux continu, les erreurs d'insertion au niveau des lignes et les quotas de débit des API BigQuery Storage Read, BigQuery Storage Write (gRPC) et BigQuery Storage Write (REST).
Migration d'entrepôts de données
Diagnostiquer les problèmes lors de l'évaluation, de la traduction ou de la migration d'entrepôts de données externes vers BigQuery
- Résoudre les problèmes de migration Résolvez les erreurs d'évaluation de la migration, les problèmes de traduction SQL interactive et par lot, ainsi que les échecs d'extraction de métadonnées.
Sources de données externes et requêtes fédérées
Diagnostiquez les erreurs de connectivité, d'authentification et d'exécution lorsque vous interrogez des données en dehors de BigQuery.
- Résoudre les problèmes liés aux requêtes fédérées Cloud SQL Résolvez les problèmes de délai de connexion, de configuration d'instance et d'échec d'authentification.
Écarts de facturation et de coût
Enquêter sur les frais inattendus et les écarts de facturation pour le calcul et le stockage
- Résoudre les écarts de coûts BigQuery Identifiez l'origine des frais inattendus, analysez les octets à la demande facturés et vérifiez l'utilisation de l'engagement de capacité.
Atténuation de la perte de données
Pour récupérer des données historiques qui ont été modifiées ou supprimées, ou pour assurer la continuité des activités en cas d'indisponibilité régionale, utilisez les outils de reprise après sinistre et de conservation des données suivants :
- Restaurez les données. Interrogez ou restaurez les données de table qui ont été modifiées ou supprimées pendant votre fenêtre de fonctionnalité temporelle. Pour en savoir plus, consultez Restaurer des données.
- Fonctionnalité temporelle Conservez les données mises à jour ou supprimées dans un ensemble de données pendant une période de conservation configurée pour vous protéger contre les modifications accidentelles. Pour en savoir plus, consultez Fonctionnalité temporelle.
- Basculement régional : Promouvoir une réplique secondaire au rôle principal en cas d'indisponibilité régionale lorsque vous utilisez la reprise après sinistre gérée par BigQuery. Pour en savoir plus, consultez la page Basculement régional.
Utiliser des API
Lorsque vous interagissez avec BigQuery de manière programmatique, utilisez les ressources suivantes pour optimiser la latence des requêtes et gérer les workflows d'importation :
- Conseils sur les performances de l'API Suivez les bonnes pratiques pour effectuer des appels d'API, comme la gestion des pools de connexions, l'utilisation d'opérations par lot et la gestion des nouvelles tentatives. Pour en savoir plus, consultez Astuces relatives aux performances de l'API.
- Importations via l'API : Résolvez les problèmes d'ingestion de données et gérez-la à l'aide des requêtes d'importation multipartie et reprise de l'API REST. Pour en savoir plus, consultez Importations par API.
Étapes suivantes
- En savoir plus sur la surveillance de BigQuery
- Explorez la documentation de référence sur
INFORMATION_SCHEMABigQuery. - Contactez Cloud Customer Care pour obtenir de l'aide en cas de problèmes de production persistants ou critiques.