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 |
|
|
| Arbeitslastkapazität und -konflikte |
|
|
| Speicherkosten und Datenarchitektur |
|
|
| Zugriffssteuerung und Governance |
|
|
| Datenaufnahmepipelines |
|
|
| Maschinelles Lernen und Vektorsuche |
|
|
| Informationen zur Arbeitslastoptimierung |
|
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_FOLDERoderBY_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
JOBSAnsicht sind 180 Tage lang verfügbar, während Zeitachsenmesswerte mit hoher Auflösung in denJOBS_TIMELINEundRESERVATIONS_TIMELINEAnsichten 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, oderWHILE) generieren einen übergeordneten Job mitstatement_type = 'SCRIPT'und einzelne untergeordnete Jobs für jede Anweisung. Wenn Sie Messwerte wietotal_slot_msodertotal_bytes_billedzusammenfassen, filtern Siestatement_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_timeoderperiod_startverwenden.
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.