BI Engine überwachen
BigQuery BI Engine beschleunigt BigQuery für BI-Szenarien mithilfe von Speichercache und schnellerer Ausführung. Details zur Beschleunigung können mit INFORMATION_SCHEMA und Cloud Monitoring-Messwerten überwacht werden.
Cloud Monitoring
Mit Cloud Monitoring können Sie die BigQuery BI Engine überwachen und Warnungen konfigurieren. Informationen zum Erstellen eines Dashboards für BI Engine-Messwerte finden Sie unter Diagramme erstellen.
Die folgenden Messwerte werden für BigQuery BI Engine bereitgestellt:
Ressource | Messwert | Details |
---|---|---|
BigQuery-Projekt | Reservierung Gesamtbytes | Gesamtkapazität, die einem Google Cloud-Projekt zugewiesen ist |
BigQuery-Projekt | Reservierung von benutzten Bytes | Gesamtkapazität, die in einem Google Cloud-Projekt verwendet wird |
BigQuery-Projekt | Im Cache gespeicherte Bytes von BI Engine-Top-Tabellen | Cache-Nutzung pro Tabelle. Dieser Messwert zeigt die obersten N Tabellen pro Region-Berichtsnutzung an. |
Abfragestatistiken für BI Engine
In diesem Abschnitt wird erläutert, wie Sie Abfragestatistiken finden, mit denen Sie die Verwendung von BI Engine überwachen, diagnostizieren und beheben können.
BI Engine-Beschleunigungsmodi
Wenn die BI Engine-Beschleunigung aktiviert ist, kann Ihre Abfrage in einem der folgenden vier Modi ausgeführt werden:
BI_ENGINE_DISABLED |
BI Engine deaktiviert die Beschleunigung.
biEngineReasons gibt einen detaillierteren Grund an. Die Abfrage wurde mit der BigQuery-Ausführungs-Engine ausgeführt. |
PARTIAL_INPUT |
Ein Teil der Abfrageeingabe wurde mit BI Engine beschleunigt. Wie unter Abfrageoptimierung und -beschleunigung beschrieben, wird ein Abfrageplan im Allgemeinen in mehrere Eingabephasen unterteilt. BI Engine unterstützt die gängigen Typen von Unterabfragemustern, die normalerweise in Dashboards verwendet werden. Wenn die Abfrage aus mehreren Eingabephasen besteht, von denen nur wenige unter die unterstützten Anwendungsfälle fallen, führt BI Engine ohne Beschleunigung die nicht unterstützten Phasen in der normalen BigQuery-Engine aus. In diesem Fall gibt BI Engine einen PARTIAL -Beschleunigungscode zurück und verwendet biEngineReasons , um den Grund für die Beschleunigung anderer Eingabephasen zu füllen. |
FULL_INPUT |
Alle Eingabephasen der Abfrage wurden mit BI Engine beschleunigt. Im Cache gespeicherte Daten werden für Abfragen wiederverwendet und die Berechnung, die direkt nach dem Lesen der Daten erfolgt, wird beschleunigt. |
FULL_QUERY |
Die gesamte Abfrage wurde mit BI Engine beschleunigt. |
BigQuery API-Jobstatistiken aufrufen
Detaillierte Statistiken zu BI Engine sind über die BigQuery API verfügbar.
Führen Sie folgenden Befehl des bq-Befehlszeilentools aus, um die Statistiken abzurufen, die mit beschleunigten BI Engine-Abfragen verknüpft sind:
bq show --format=prettyjson -j job_id
Wenn das Projekt für die BI Engine-Beschleunigung aktiviert ist, erzeugt die Ausgabe das neue Feld biEngineStatistics
. Hier ist ein Beispiel für einen Jobbericht:
"statistics": {
"creationTime": "1602175128902",
"endTime": "1602175130700",
"query": {
"biEngineStatistics": {
"biEngineMode": "DISABLED",
"biEngineReasons": [
{
"code": "UNSUPPORTED_SQL_TEXT",
"message": "Detected unsupported join type"
}
]
},
Weitere Informationen zum Feld BiEngineStatistics
finden Sie in der Jobreferenz.
BigQuery-Informationsschema-Statistiken
Die BI Engine-Beschleunigungsstatistiken sind in den BigQuery INFORMATION_SCHEMA
-Ansichten als Teil der INFORMATION_SCHEMA.JOBS_BY_*
-Ansichten in der Spalte bi_engine_statistics
enthalten.
Diese Abfrage gibt beispielsweise die bi_engine_statistics
für alle Jobs der aktuellen Projekte für die letzten 24 Stunden zurück:
SELECT
creation_time,
job_id,
bi_engine_statistics
FROM
`region-us`.INFORMATION_SCHEMA.JOBS_BY_PROJECT
WHERE
creation_time >
TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)
AND job_type = "QUERY"
Verwenden Sie das folgende Format, um die Regionalität für die project-id
, region
und views
in der INFORMATION_SCHEMA
-Ansicht anzugeben:
`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.VIEW
Informationsschema-Details von Looker Studio ansehen
In der Ansicht INFORMATION_SCHEMA.JOBS
sehen Sie, welche Looker Studio-Berichte und Datenquellen von BigQuery verwendet werden. Jede Looker Studio-Abfrage in BigQuery erstellt einen Eintrag mit den Labels report_id
und datasource_id
. Diese IDs werden am Ende der Looker Studio-URL angezeigt, wenn Sie eine Seite mit einem Bericht oder einer Datenquelle öffnen.
Ein Bericht mit der URL https://lookerstudio.google.com/navigation/reporting/my-report-id-123
hat beispielsweise die Berichts-ID "my-report-id-123"
.
In den folgenden Beispielen wird gezeigt, wie Sie Berichte und Datenquellen aufrufen:
URL für Bericht und Datenquelle für jeden BigQuery-Job in Looker Studio ermitteln
-- Standard labels used by Looker Studio. DECLARE requestor_key STRING DEFAULT 'requestor'; DECLARE requestor_value STRING DEFAULT 'looker_studio'; CREATE TEMP FUNCTION GetLabel(labels ANY TYPE, label_key STRING) AS ( (SELECT l.value FROM UNNEST(labels) l WHERE l.key = label_key) ); CREATE TEMP FUNCTION GetDatasourceUrl(labels ANY TYPE) AS ( CONCAT("https://lookerstudio.google.com/datasources/", GetLabel(labels, 'looker_studio_datasource_id')) ); CREATE TEMP FUNCTION GetReportUrl(labels ANY TYPE) AS ( CONCAT("https://lookerstudio.google.com/reporting/", GetLabel(labels, 'looker_studio_report_id')) ); SELECT job_id, GetDatasourceUrl(labels) AS datasource_url, GetReportUrl(labels) AS report_url, FROM `region-us`.INFORMATION_SCHEMA.JOBS jobs WHERE creation_time > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY) AND GetLabel(labels, requestor_key) = requestor_value LIMIT 100;
Jobs ansehen, die mit einem Bericht und einer Datenquelle erstellt wurden
-- Specify report and data source id, which can be found at the end of Looker Studio URLs. DECLARE user_report_id STRING DEFAULT '*report id here*'; DECLARE user_datasource_id STRING DEFAULT '*datasource id here*'; -- Looker Studio labels for BigQuery. DECLARE requestor_key STRING DEFAULT 'requestor'; DECLARE requestor_value STRING DEFAULT 'looker_studio'; DECLARE datasource_key STRING DEFAULT 'looker_studio_datasource_id'; DECLARE report_key STRING DEFAULT 'looker_studio_report_id'; CREATE TEMP FUNCTION GetLabel(labels ANY TYPE, label_key STRING) AS ( (SELECT l.value FROM UNNEST(labels) l WHERE l.key = label_key) ); SELECT creation_time, job_id, FROM `region-us`.INFORMATION_SCHEMA.JOBS jobs WHERE creation_time > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY) AND GetLabel(labels, requestor_key) = requestor_value AND GetLabel(labels, datasource_key) = user_datasource_id AND GetLabel(labels, report_key) = user_report_id ORDER BY 1 LIMIT 100;
Cloud Logging
Die BI Engine-Beschleunigung ist Teil der BigQuery-Jobverarbeitung. Informationen zum Prüfen von BigQuery-Jobs für ein bestimmtes Projekt finden Sie auf der Seite Cloud Logging mit einer Nutzlast von protoPayload.serviceName="bigquery.googleapis.com"
.
Nächste Schritte
- Mehr Informationen zu Cloud Monitoring
- Weitere Informationen zum Beobachten von Diagrammen.
- Weitere Informationen zum Beobachten von Warnungen.
- Weitere Informationen zu Cloud Logging