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ête, 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 total (tel qu'un code d'erreur ou un échec de tâche), une dégradation des performances (telle qu'une requête lente ou une pénurie d'emplacements), un refus d'autorisation ou un écart de coût inattendu.
- Inspectez les détails de l'exécution de la tâche. Utilisez l' Google Cloud explorateur de tâches de la console, le graphique d'exécution de la requête ou les outils de ligne de commande pour examiner les délais au niveau de l'étape, 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 de schéma d'informations ou inspectez Cloud Audit Logs pour corréler le comportement des tâches avec la contention des ressources, les limites de réservation ou les modifications administratives.
- Appliquez des mesures d'atténuation ciblées. Utilisez des guides de dépannage spécifiques à une catégorie ou des fonctions SQL défensives pour corriger la cause sous-jacente.
Distinguer le dépannage de l'optimisation
Lorsque vous utilisez 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 des quotas ou des comportements involontaires qui empêchent les tâches de se terminer correctement.
- Optimisation des performances. Se concentre sur l'amélioration de la vitesse d'exécution, de la latence ou de l'efficacité des ressources des requêtes et des charges de travail qui s'exécutent déjà correctement. Pour en savoir plus, consultez la section Optimiser les performances des requêtes.
- Bonnes pratiques. Se concentre sur les modèles architecturaux 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 la section Présentation des bonnes pratiques.
Outils de diagnostic
Les sections suivantes décrivent plusieurs interfaces BigQuery et outils automatisés 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 à partir de Google Cloud la console.
- Explorateur de tâches. Recherchez, filtrez et inspectez les tâches passées et en cours d'exécution 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 tâches. Pour en savoir plus, consultez la section Surveiller les tâches dans l'explorateur de tâches.
- 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 mélange sur 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 la section 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 de l'utilisation des emplacements, de la simultanéité des tâches et des allocations de réservation pour diagnostiquer les contraintes de capacité. Pour en savoir plus, consultez la section Utiliser les 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 Google Cloud console. Pour en savoir plus, consultez la section Résoudre les problèmes liés aux requêtes à l'aide de Gemini Cloud Assist.
Outils de diagnostic automatisés et de ligne de commande
Les outils suivants peuvent vous aider à diagnostiquer les problèmes liés à 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 des tâches à 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 la section Résoudre les problèmes liés aux commandes CLI. - Outil
gcpdiagExécutez des diagnostics automatisés à partir de la ligne de commande pour détecter les problèmes de configuration Google Cloud courants, y compris les lacunes d'autorisation IAM, les restrictions réseau et les erreurs de compte de service. Pour en savoir plus, consultez la section Résoudre les échecs de requête à l'aide degcpdiag.
Vues de métadonnées et de télémétrie
Les vues de schéma d'informations vous permettent d'interroger les métadonnées en temps réel et historiques sur les tâches, la capacité, l'ingestion en flux continu et les ensembles de données à l'aide de SQL standard. Ces vues incluent les éléments suivants :
- Télémétrie d'exécution des tâches. Interrogez
INFORMATION_SCHEMA.JOBSetINFORMATION_SCHEMA.JOBS_TIMELINEpour analyser la consommation en emplacements-millisecondes, les octets déversés, les temps d'attente et les codes d'erreur entre les tâches. - Réservations et capacité. Interrogez
INFORMATION_SCHEMA.RESERVATIONSetINFORMATION_SCHEMA.CAPACITY_COMMITMENTSpour diagnostiquer l'allocation des emplacements, les limites de réservation et les comportements d'autoscaling. - Streaming et ingestion. Interrogez
INFORMATION_SCHEMA.STREAMING_TIMELINEpour identifier la latence d'ingestion et les limites de débit de streaming. - État du stockage et des partitions. Interrogez
INFORMATION_SCHEMA.TABLE_STORAGEpour inspecter les tailles physiques des tables, le stockage actif par rapport au stockage à long terme et la distribution des partitions.
Pour en savoir plus, consultez la section
Présentation de BigQuery INFORMATION_SCHEMA.
Cloud Monitoring et Cloud Audit Logs
- Journaux d'audit Cloud. Consultez les journaux d'audit des activités d'administration et des accès aux données pour savoir qui a initié des opérations spécifiques, inspecter les identités de l'appelant 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 la section Surveiller BigQuery à l'aide de Cloud Monitoring.
Fonctions SQL défensives et instructions de débogage
Pour éviter que les requêtes n'échouent de manière inattendue en raison d'erreurs de données d'exécution, utilisez les éléments suivants :
- Expressions sécurisées. 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 tableau ne correspondent pas. La plupart des fonctions scalaires sont compatibles avec le préfixeSAFE.. Pour en savoir plus, consultez la section Fonctions de débogage etSAFE.préfixe. - Assertions SQL. Utilisez l'instruction
ASSERTdans les transactions ou les 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 la section 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 profondes et les guides de résolution pas à pas.
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 de mélange, les conditions de mémoire insuffisante et les échecs de requêtes planifiées. - Résoudre les problèmes liés aux longs temps d'attente des requêtes. Diagnostiquez les goulots d'étranglement de la simultanéité et les requêtes mises en file d'attente en raison des limites de file d'attente interactive ou par lot.
- Documentation 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ôle manquantes et les blocages de règles de gouvernance des données.
- Résoudre les problèmes liés aux 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 de périmètre et les blocages de règles d'entrée ou de sortie.
- Résoudre les problèmes liés à la sécurité au niveau des lignes et des colonnes. Résolvez les problèmes d'accès liés aux règles de données, aux tags de règles 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é de BigQuery.
- Résoudre les problèmes de quota et de limite. Identifiez les quotas ajustables et non ajustables, gérez les limites de requêtes simultanées et résolvez les erreurs de limite de débit de l'API.
- Résoudre les problèmes liés aux réservations. Diagnostiquez la pénurie d'emplacements, les erreurs d'attribution de réservation et les insuffisances de capacité de référence.
Ingestion, streaming et transferts de données
Diagnostiquez les échecs lors du chargement de données, de la diffusion en flux continu d'enregistrements ou de la synchronisation de sources externes.
- Résoudre les problèmes liés aux configurations de transfert. Résolvez les erreurs du service de transfert de données BigQuery sur des sources telles qu'Amazon S3, Salesforce, Google Ads et Cloud Storage.
- Résoudre les problèmes liés aux insertions en flux continu. Déboguez l'API Storage Write et les échecs d'ingestion en flux continu hérités, les erreurs d'insertion au niveau des lignes et les quotas de débit.
- Résoudre les problèmes liés au chargement des données. Résolvez les erreurs d'analyse de schéma et de délimiteur CSV, JSON, Parquet ou Avro.
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 délais de connexion, les problèmes de configuration d'instance et les échecs d'identifiants.
Écarts de facturation et de coûts
Examinez les frais inattendus et les écarts de facturation entre le calcul et le stockage.
- Résoudre les problèmes liés aux écarts de coûts BigQuery. Identifiez l'origine des frais inattendus, analysez les octets facturés à la demande et vérifiez l'utilisation de l'engagement de capacité.
Atténuation des pertes 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 de panne régionale, utilisez les outils de reprise après sinistre et de conservation des données suivants :
- Restaurer les données. Interrogez ou restaurez les données de table qui ont été modifiées ou supprimées dans votre fenêtre temporelle. Pour en savoir plus, consultez la section Restaurer les 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 la section Fonctionnalité temporelle.
- Basculement régional. Promouvez un réplica secondaire au rôle principal lors d'une panne régionale lorsque vous utilisez la reprise après sinistre gérée par BigQuery. Pour en savoir plus, consultez la section Basculement régional.
Utiliser des API
Lorsque vous interagissez avec BigQuery par programmation, utilisez les ressources suivantes pour optimiser la latence des requêtes et gérer les workflows d'importation :
- Conseils concernant les performances de l'API. Suivez les bonnes pratiques pour effectuer des appels d'API, telles que la gestion des pools de connexions, l'utilisation d'opérations par lot et la gestion des nouvelles tentatives. Pour en savoir plus, consultez la section Conseils concernant les performances de l'API.
- Importer via l'API. Résolvez les problèmes liés à l'ingestion de données et gérez-la à l'aide de requêtes d'importation multipart et pouvant être reprises de l'API REST. Pour en savoir plus, consultez la section Importer via l'API.
Étape suivante
- En savoir plus sur la surveillance de BigQuery.
- Consulter la documentation de référence sur BigQuery
INFORMATION_SCHEMA. - Contacter l'assistance Cloud Customer Care pour obtenir de l'aide en cas de problèmes de production persistants ou critiques