Partitions- und Clusterempfehlungen ansehen
In diesem Dokument wird beschrieben, wie der Recommender für Partitionen und Cluster funktioniert und wie Sie Ihre Empfehlungen und Statistiken aufrufen.
Der BigQuery-Partitionierungs- und -Clustering-Recommender generiert Empfehlungen für Partitionen oder Cluster zur Optimierung Ihrer BigQuery-Tabellen. Der Recommender analysiert Workflows in Ihren BigQuery-Tabellen und gibt Empfehlungen zur besseren Optimierung Ihrer Workflows und Abfragekosten durch Tabellenpartitionierung oder Tabellen-Clustering.
Weitere Informationen zum Recommender-Dienst finden Sie in der Recommender-Übersicht.
Funktionsweise des Recommenders
Zum Generieren einer Empfehlung verwendet der Recommender für Partitionierung und Clustering die Arbeitslastausführungsdaten des Projekts der letzten 30 Tage, um jede BigQuery-Tabelle auf suboptimale Partitionierungs- und Clustering-Konfigurationen zu analysieren. Der Recommender verwendet auch maschinelles Lernen, um vorherzusagen, wie viel die Ausführung von Arbeitslasten mit verschiedenen Partitionierungs- oder Clustering-Konfigurationen optimiert werden könnte. Wenn der Recommender feststellt, dass Partitionierung oder Clustering einer Tabelle erhebliche Einsparungen ermöglicht, generiert der Recommender eine Empfehlung. Der Partitionierungs- und Clustering-Recommender generiert die folgenden Arten von Empfehlungen:
Vorhandener Tabellentyp | Empfehlungsuntertyp | Empfehlungsbeispiel |
---|---|---|
Nicht partitioniert, nicht geclustert | Partition | „Sparen Sie etwa 64 Slot-Stunden pro Monat durch Partitionierung nach column_C nach DAY“ |
Nicht partitioniert, nicht geclustert | Cluster | „Sparen Sie durch Clustering nach Spalte_C etwa 64 Slot-Stunden pro Monat“ |
Partitioniert, nicht geclustert | Cluster | „Sparen Sie durch Clustering nach Spalte_C etwa 64 Slot-Stunden pro Monat“ |
Jede Empfehlung besteht aus drei Teilen:
- Anleitung zum Partitionieren oder Clustern einer bestimmten Tabelle
- Die spezifische Spalte in einer Tabelle, die partitioniert oder geclustert werden soll
- Geschätzte monatliche Einsparungen beim Anwenden der Empfehlung
Bei der Berechnung potenzieller Arbeitslasteinsparungen geht der Recommender davon aus, dass die Verlaufsdaten der Ausführungsarbeitslasten der letzten 30 Tage die zukünftige Arbeitslast darstellen.
Die Recommender API gibt auch Informationen zur Tabellenarbeitslast in Form von Statistiken zurück. Statistiken sind Erkenntnisse, mit denen Sie die Arbeitslast Ihres Projekts verstehen können. Sie erhalten dadurch mehr Kontext dazu, wie eine Partition oder Clusterempfehlung die Arbeitslastkosten verbessern kann.
Beschränkungen
Der Partitionierungs- und Clustering-Recommender schließt Legacy-SQL-Abfragen in seiner Analyse aus.
Der Partitionierungs- und Clustering-Recommender unterstützt keine Ressourcen, die in den folgenden Regionen gespeichert sind:
europe-central2
,europe-west8
,europe-west9
,europe-west12
,europe-north1
,europe-southwest1
us-east1
,us-east5
,us-south1
me-central1
,me-central2
,me-west1
australia-southeast2
southamerica-west1
Hinweise
Bevor Sie Partitions- und Clusterempfehlungen aufrufen können, müssen Sie die Recommender API aktivieren.
Erforderliche Berechtigungen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Betrachter von BigQuery-Partitionierungsclustering-Recommender (roles/recommender.bigqueryPartitionClusterViewer
) zu gewähren, um die Berechtigungen zu erhalten, die Sie für den Zugriff auf Partitions- und Clusterempfehlungen benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.
Diese vordefinierte Rolle enthält die Berechtigungen, die für den Zugriff auf Partitions- und Clusterempfehlungen erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Für den Zugriff auf Partitions- und Clusterempfehlungen sind die folgenden Berechtigungen erforderlich:
-
recommender.bigqueryPartitionClusterRecommendations.get
-
recommender.bigqueryPartitionClusterRecommendations.list
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Weitere Informationen zu IAM-Rollen und Berechtigungen in BigQuery finden Sie unter Einführung in IAM.
Empfehlungen abrufen
In diesem Abschnitt wird beschrieben, wie Sie Empfehlungen zu Partitionen und Clustern mit der Google Cloud Console, der Google Cloud CLI oder der Recommender API aufrufen.
Wählen Sie eine der folgenden Optionen aus:
Console
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Klicken Sie zum Öffnen des Tabs „Empfehlungen“ auf > Alle Empfehlungen ansehen.
EmpfehlungenAuf dem Tab „Empfehlungen“ werden alle Empfehlungen aufgelistet, die für Ihr Projekt verfügbar sind.
Klicken Sie im Bereich BigQuery-Arbeitslastkosten optimieren auf Alle ansehen.
In der Tabelle mit den Kostenempfehlungen werden alle Empfehlungen aufgeführt, die für das aktuelle Projekt generiert wurden. Der folgende Screenshot zeigt beispielsweise, dass der Recommender die Tabelle
example_table
analysiert und dann das Clustering der Spalteexample_column
empfohlen hat, um eine ungefähre Menge von Byte und Slots zu sparen.Klicken Sie auf eine Empfehlung, um weitere Informationen zu den Daten und Empfehlungen der Tabelle zu sehen.
gcloud
Verwenden Sie den Befehl gcloud recommender recommendations list
, um Partitions- oder Clusterempfehlungen für ein bestimmtes Projekt aufzurufen:
gcloud recommender recommendations list \ --project=PROJECT_NAME \ --location=REGION_NAME \ --recommender=google.bigquery.table.PartitionClusterRecommender \ --format=FORMAT_TYPE \
Dabei gilt:
PROJECT_NAME
: der Name des Projekts, das Ihre BigQuery-Tabelle enthältREGION_NAME
: die Region, in der sich Ihr Projekt befindetFORMAT_TYPE
: ein unterstütztes Ausgabeformat der gcloud CLI, z. B. JSON
Attribut | Relevant für Untertyp | Beschreibung |
---|---|---|
recommenderSubtype |
Partition oder Cluster | Gibt den Typ der Empfehlung an. |
content.overview.partitionColumn |
Partition | Empfohlener Name der Partitionierungsspalte. |
content.overview.partitionTimeUnit |
Partition | Empfohlene Partitionierungszeiteinheit. DAY bedeutet beispielsweise, dass Sie tägliche Partitionen in der empfohlenen Spalte haben sollten. |
content.overview.clusterColumns |
Cluster | Empfohlene Clustering-Spaltennamen. |
- Weitere Informationen zu anderen Feldern in der Recommender-Antwort finden Sie unter REST-Ressource:
projects.locations.recommendersrecommendation
. - Weitere Informationen zur Verwendung der Recommender API finden Sie unter API verwenden – Empfehlungen.
Verwenden Sie den Befehl gcloud recommender insights list
, um Tabellenstatistiken mit der gcloud CLI aufzurufen:
gcloud recommender insights list \ --project=PROJECT_NAME \ --location=REGION_NAME \ --insight-type=google.bigquery.table.StatsInsight \ --format=FORMAT_TYPE \
Dabei gilt:
PROJECT_NAME
: der Name des Projekts, das Ihre BigQuery-Tabelle enthältREGION_NAME
: die Region, in der sich Ihr Projekt befindetFORMAT_TYPE
: ein unterstütztes Ausgabeformat der gcloud CLI, z. B. JSON
Attribut | Relevant für Untertyp | Beschreibung |
---|---|---|
content.existingPartitionColumn |
Cluster | Vorhandene Partitionierungsspalte, falls vorhanden |
content.tableSizeTb |
Alle | Größe der Tabelle in Terabyte |
content.bytesReadMonthly |
Alle | Monatliche Byte, die aus der Tabelle gelesen werden |
content.slotMsConsumedMonthly |
Alle | Monatliche Slot-Millisekunden, die von der auf der Tabelle ausgeführten Arbeitslast verbraucht werden |
content.queryJobsCountMonthly |
Alle | Monatliche Anzahl von Jobs, die in der Tabelle ausgeführt werden |
- Weitere Informationen zu anderen Feldern in der Statistikantwort finden Sie unter REST-Ressource:
projects.locations.insightTypes.insights
. - Weitere Informationen zur Verwendung von Statistiken finden Sie unter API verwenden – Statistiken.
REST API
Verwenden Sie die REST API, um Partitions- oder Clusterempfehlungen für ein bestimmtes Projekt aufzurufen. Bei jedem Befehl müssen Sie ein Authentifizierungstoken angeben, das Sie mit der gcloud CLI abrufen können. Weitere Informationen zum Abrufen eines Authentifizierungstokens finden Sie unter Methoden zum Abrufen eines ID-Tokens.
Mit der curl list
-Anfrage können Sie alle Empfehlungen für ein bestimmtes Projekt anzeigen:
curl -H "Authorization: Bearer $GCLOUD_AUTH_TOKEN" -H "x-goog-user-project: PROJECT_NAME" https://recommender.googleapis.com/v1/projects/my-project/locations/us/recommenders/google.bigquery.table.PartitionClusterRecommender/recommendations
Dabei gilt:
GCLOUD_AUTH_TOKEN
: der Name eines gültigen gcloud CLI-ZugriffstokensPROJECT_NAME
: der Name des Projekts, das Ihre BigQuery-Tabelle enthält
Attribut | Relevant für Untertyp | Beschreibung |
---|---|---|
recommenderSubtype |
Partition oder Cluster | Gibt den Typ der Empfehlung an. |
content.overview.partitionColumn |
Partition | Empfohlener Name der Partitionierungsspalte. |
content.overview.partitionTimeUnit |
Partition | Empfohlene Partitionierungszeiteinheit. DAY bedeutet beispielsweise, dass Sie tägliche Partitionen in der empfohlenen Spalte haben sollten. |
content.overview.clusterColumns |
Cluster | Empfohlene Clustering-Spaltennamen. |
- Weitere Informationen zu anderen Feldern in der Recommender-Antwort finden Sie unter REST-Ressource:
projects.locations.recommendersrecommendation
. - Weitere Informationen zur Verwendung der Recommender API finden Sie unter API verwenden – Empfehlungen.
Führen Sie den folgenden Befehl aus, um Tabellenstatistiken mit der REST API aufzurufen:
curl -H "Authorization: Bearer $GCLOUD_AUTH_TOKEN" -H "x-goog-user-project: PROJECT_NAME" https://recommender.googleapis.com/v1/projects/my-project/locations/us/insightTypes/google.bigquery.table.StatsInsight/insights
Ersetzen Sie Folgendes:
GCLOUD_AUTH_TOKEN
: der Name eines gültigen gcloud CLI-ZugriffstokensPROJECT_NAME
: der Name des Projekts, das Ihre BigQuery-Tabelle enthält
Attribut | Relevant für Untertyp | Beschreibung |
---|---|---|
content.existingPartitionColumn |
Cluster | Vorhandene Partitionierungsspalte, falls vorhanden |
content.tableSizeTb |
Alle | Größe der Tabelle in Terabyte |
content.bytesReadMonthly |
Alle | Monatliche Byte, die aus der Tabelle gelesen werden |
content.slotMsConsumedMonthly |
Alle | Monatliche Slot-Millisekunden, die von der auf der Tabelle ausgeführten Arbeitslast verbraucht werden |
content.queryJobsCountMonthly |
Alle | Monatliche Anzahl von Jobs, die in der Tabelle ausgeführt werden |
- Weitere Informationen zu anderen Feldern in der Statistikantwort finden Sie unter REST-Ressource:
projects.locations.insightTypes.insights
. - Weitere Informationen zur Verwendung von Statistiken finden Sie unter API verwenden – Statistiken.
Fehlerbehebung
Problem: Für eine bestimmte Tabelle werden keine Empfehlungen angezeigt.
Partitions- und Clusterempfehlungen werden unter folgenden Umständen möglicherweise nicht angezeigt:
- Die Tabelle ist kleiner als 10 GB.
- Die Tabelle verursacht hohe Schreibkosten für Vorgänge zur Datenbearbeitungssprache (DML).
- Die Tabelle wurde in den letzten 30 Tagen nicht gelesen.
- Die geschätzten monatlichen Einsparungen sind zu unbedeutend (weniger als eine Slot-Stunde).
- Die Tabelle ist bereits geclustert.
Preise
Die Anzeige von Empfehlungen erzeugt keine Kosten oder negative Auswirkungen auf die Arbeitslastleistung.