Fehlerbehebung mit dem Informationsschema

Als BigQuery-Administrator oder Datenanalyst erfordert die Verwaltung von Arbeitslasten in Unternehmen eine zuverlässige und skalierbare Möglichkeit, Leistungsengpässe, Abfragefehler, Kapazitätslimits und Speicherwachstum zu diagnostizieren. BigQuery-Informationsschemaansichten dienen als Grundlage für die Beobachtbarkeit und bieten Metadaten in nahezu Echtzeit und Verlaufsmetadaten, auf die über Standard-GoogleSQL-Abfragen zugegriffen werden kann.

In diesem Dokument werden die wichtigsten Prinzipien der Fehlerbehebung in BigQuery mit dem Informationsschema beschrieben. Außerdem finden Sie eine strukturierte Übersicht über die administrative Toolbox zur Fehlerbehebung und Links zu bestimmten Ansichten in der BigQuery-Bibliothek.

Fehlerbehebung mit dem Informationsschema nach Aufgabe

In der folgenden Tabelle sind nützliche Informationsschemaansichten nach Aufgabe und Diagnoseanwendungsfall zusammengefasst:

Aufgabe Anwendungsfälle Informationsschemaansichten
Abfrageleistung und -fehler
  • Die Abfragen mit dem höchsten Slotverbrauch und die teuersten Abfragen identifizieren.
  • Jobfehlergründe und Fehlermuster zusammenfassen.
  • Ausführungszeiten pro Phase und ausgelagerte Byte analysieren.
Arbeitslastkapazität und -konflikte
  • Slotkonflikte, Drosselung und Wartezeiten in der Warteschlange erkennen.
  • Sättigung des In-Memory-Shuffle-Speichers überwachen.
  • Nutzung von Referenz- und Autoscaling-Slots für Reservierungen prüfen.
  • Reservierungszuweisungen für Projekte und Ordner überprüfen.
Speicherkosten und Datenarchitektur
  • Tabellen mit unkontrolliertem physischen oder logischen Speicher identifizieren.
  • Übermäßigen Speicherverbrauch durch Zeitreisen und Fail-Safe-Speicher erkennen.
  • Partitionsskew und Tabellen, die sich den Partitionslimits nähern, diagnostizieren.
  • Abgelaufene oder gelöschte Tabellen in Zeitreisefenstern finden.
Zugriffssteuerung und Governance
  • Explizite IAM-Rollenzuweisungen (Identity and Access Management) für Tabellen und Datasets prüfen.
  • Fehler vom Typ „Zugriff verweigert“ für Nutzer und Dienstkonten beheben.
  • Datasetfreigabe und analytische Nutzung projektübergreifend verfolgen.
Datenaufnahmepipelines
  • Aufnahmedurchsatz und Fehler der Storage Write API überwachen.
  • Latenz und Ratenlimits für Streaming-Insert-Anweisungen diagnostizieren.
  • Fehlerhafte Streams nach Streamtyp und Fehlercode identifizieren.
Maschinelles Lernen und Vektorsuche
  • Dauer des Modelltrainings und Ressourcenverbrauch verfolgen.
  • Status und Abdeckungsprozentsatz des Vektorindex prüfen.
  • Fehlerbehebung bei der Erstellung gespeicherter Prozeduren und Python-UDFs.
Informationen zur Arbeitslastoptimierung
  • Automatisierte Empfehlungen für Partitionierung und Clustering prüfen.
  • Tabellen identifizieren, die als Kandidaten für materialisierte Ansichten infrage kommen.

Prinzipien der Fehlerbehebung mit dem Informationsschema

Bei der Diagnose von Problemen mit Arbeitslasten oder der Umgebung in BigQuery sollten Sie die folgenden Grundprinzipien anwenden:

  • Nach Region, Dataset und Projekt eingrenzen. Die Arbeitslastverwaltung und die Rechenressourcen von BigQuery werden innerhalb regionaler Grenzen ausgeführt. Berücksichtige Folgendes:

    • Geben Sie immer den richtigen regionalen Qualifier an (z. B. region-REGION.INFORMATION_SCHEMA.JOBS_BY_PROJECT) oder den Dataset-Qualifier.

    • Wählen Sie die entsprechende Hierarchieebene (BY_PROJECT, BY_USER, BY_FOLDER oder BY_ORGANIZATION) aus, je nachdem, ob Sie ein Problem mit einem einzelnen Nutzer, eine projektspezifische Arbeitslast oder ein mandantenweites Problem untersuchen.

  • Rechenbedarf mit Kapazität in Beziehung setzen. Eine langsame Abfrageleistung ist oft auf Slotkonflikte und nicht nur auf ineffizienten SQL-Code zurückzuführen. Vergleichen Sie Jobressourcenanfragen (period_estimated_runnable_units) mit zugewiesenen Reservierungsslots (period_slot_ms) über identische Zeiträume hinweg, um zwischen Möglichkeiten zur Abfrageoptimierung und Problemen zu unterscheiden, die durch unzureichende Kapazität verursacht werden.

  • Telemetriegranularität und Aufbewahrungsgrenzen berücksichtigen. Verschiedene Informationsschemaansichten verwenden unterschiedliche Aktualisierungsintervalle und Datenaufbewahrungszeiträume. Jobmetadaten in der JOBS Ansicht sind 180 Tage lang verfügbar, während Zeitachsenmesswerte mit hoher Auflösung in den JOBS_TIMELINE und RESERVATIONS_TIMELINE Ansichten für kürzere Zeiträume aufbewahrt werden (in der Regel 14 bis 30 Tage). Für langfristige Prüfungen und Trendanalysen sollten Sie Telemetriedaten in partitionierte Tabellen exportieren.

  • Messwertverzerrungen in Abfragen mit mehreren Anweisungen vermeiden. Skripts mit mehreren Anweisungen (prozedurales SQL mit DECLARE, IF, oder WHILE) generieren einen übergeordneten Job mit statement_type = 'SCRIPT' und einzelne untergeordnete Jobs für jede Anweisung. Wenn Sie Messwerte wie total_slot_ms oder total_bytes_billed zusammenfassen, filtern Sie statement_type = 'SCRIPT' heraus, um Mehrfachzählungen zu vermeiden.

  • Nach Partitionspalten filtern. Um die Abfrageausführungszeit zu minimieren und unnötige Scankosten bei der On-Demand-Analyse zu vermeiden, sollten Sie immer restriktive Zeitfilter für Partitionspalten wie creation_time, job_start_time oder period_start verwenden.

Nächste Schritte

  • Weitere Informationen zur Informationsschemasyntax und eine Liste der verfügbaren Ansichten finden Sie unter Einführung in INFORMATION_SCHEMA.
  • Informationen zum Aufrufen von Jobdetails, Auflisten aktiver Jobs und Abbrechen laufender Jobs, siehe Jobs verwalten.