Diese Anleitung hilft Ihnen, die Schnellstartlösung Data Warehouse mit BigQuery zu verstehen, bereitzustellen und zu verwenden. Diese Lösung zeigt, wie Sie ein Data Warehouse in Google Cloud mit BigQuery als Data Warehouse sowie mit Looker Studio als Dashboard und Visualisierungstool erstellen können. Die Lösung verwendet auch die generativen KI-Funktionen von Vertex AI, um Text zu generieren, der die Analyse zusammenfasst.
Gängige Anwendungsfälle für das Erstellen eines Data Warehouse:
- Zusammenfassen und Erstellen von Warehouses für die Marketinganalyse, um Umsatz- oder andere Kundenmesswerte zu verbessern.
- Finanzberichte und -analysen erstellen
- Operative Dashboards erstellen, um die Unternehmensleistung zu verbessern
Dieses Dokument richtet sich an Entwickler, die bereits mit der Datenanalyse vertraut sind und eine Datenbank für eine Analyse verwendet haben. Es wird davon ausgegangen, dass Sie mit grundlegenden Cloud-Konzepten vertraut sind, aber nicht unbedingt mit Google Cloud. Erfahrung mit Terraform ist hilfreich, aber nicht erforderlich, um diese Lösung über die Console bereitzustellen.
.Lernziele
- Erfahren Sie, wie Daten in ein Cloud Data Warehouse fließen und wie die Daten mit SQL umgewandelt werden können.
- Erstellen Sie Dashboards aus den Daten, um eine Datenanalyse durchzuführen.
- Planen Sie SQL-Anweisungen, damit Daten regelmäßig aktualisiert werden.
- Erstellen Sie ein Modell für maschinelles Lernen, um Datenwerte im Zeitverlauf vorherzusagen.
- Verwenden Sie generative KI, um die Ergebnisse Ihres Modells für maschinelles Lernen zusammenzufassen.
Verwendete Produkte
Die Lösung verwendet die folgenden Google Cloud-Produkte:
- BigQuery: Ein vollständig verwaltetes, hoch skalierbares Data Warehouse mit integrierten Funktionen für maschinelles Lernen.
- Cloud Storage: Ein für Unternehmen geeigneter Dienst, der einen kostengünstigen, unbegrenzten Objektspeicher für verschiedene Datentypen bietet. Daten können von innerhalb und außerhalb von Google Cloud aufgerufen und georedundant repliziert werden.
- Looker Studio: Selfservice-Business-Intelligence-Plattform, mit der Sie Datenstatistiken erstellen und freigeben können.
- Vertex AI: eine ML-Plattform, mit der Sie ML-Modelle und KI-Anwendungen trainieren und bereitstellen können.
Die folgenden Google Cloud-Produkte werden für das Staging von Daten in der Lösung zur ersten Verwendung genutzt:
- Workflows: Eine vollständig verwaltete Orchestrierungsplattform, die Dienste in einer angegebenen Reihenfolge als Workflow ausführt. Workflows kann Dienste kombinieren, einschließlich benutzerdefinierter Dienste, die in Cloud Run oder Cloud Functions gehostet werden, Google Cloud-Diensten wie BigQuery und einer beliebigen HTTP-basierten API.
- Cloud Functions ist eine serverlose Ausführungsumgebung zum Erstellen und Verbinden von Cloud-Diensten.
Architektur
Das in dieser Lösung bereitgestellte Beispiel-Warehouse analysiert fiktive E-Commerce-Daten von TheLook, um die Unternehmensleistung im Zeitverlauf zu verstehen. Das folgende Diagramm zeigt die Architektur der von der Lösung bereitgestellten Google Cloud-Ressourcen.
Lösungsablauf
Die Architektur stellt einen gemeinsamen Datenfluss für das Ausfüllen und Transformieren von Daten für ein Data Warehouse dar:
- Daten werden an einen Cloud Storage-Bucket gesendet.
- Workflows vereinfachen die Datenverschiebung.
- Daten werden mithilfe einer gespeicherten SQL-Prozedur als eine BigLake-Tabelle in BigQuery geladen.
- Daten werden in BigQuery mithilfe einer gespeicherten SQL-Prozedur transformiert.
- Dashboards werden aus den Daten erstellt, um Looker Studio weiter zu analysieren.
- Daten werden mit einem k-Means-Modell analysiert, das mit BigQuery ML erstellt wurde. Die Analyse identifiziert gängige Muster, die mithilfe der generativen KI-Funktionen von Vertex AI über BigQuery zusammengefasst werden.
- Cloud Functions erstellt Notebooks mit zusätzlichen Lerninhalten.
Kosten
Eine Schätzung der Kosten der Google Cloud-Ressourcen, die von der Lösung „Data Warehouse mit BigQuery“ genutzt werden, finden Sie in der vorab berechneten Schätzung im Google Cloud-Preisrechner.
Verwenden Sie die vorab berechnete Schätzung als Ausgangspunkt, um die Kosten Ihrer Bereitstellung zu berechnen. Sie können die Schätzung ändern, um alle Konfigurationsänderungen widerzuspiegeln, die Sie für die in der Lösung verwendeten Ressourcen vornehmen möchten.
Die vorab berechnete Schätzung basiert auf Annahmen für bestimmte Faktoren, darunter:
- Die Google Cloud-Standorte, an denen die Ressourcen bereitgestellt werden.
Die Zeitdauer der Verwendung der Ressourcen.
Der Speicherort, an dem die Daten bereitgestellt werden.
Hinweise
Zum Bereitstellen dieser Lösung benötigen Sie zuerst ein Google Cloud-Projekt und einige IAM-Berechtigungen.
Google Cloud-Projekt erstellen oder auswählen
Beim Bereitstellen der Lösung wählen Sie das Google Cloud-Projekt aus, in dem die Ressourcen bereitgestellt werden. Sie können entweder ein neues Projekt erstellen oder ein vorhandenes Projekt für die Bereitstellung verwenden.
Wenn Sie ein neues Projekt erstellen möchten, sollten Sie dies tun, bevor Sie mit der Bereitstellung beginnen. Durch die Verwendung eines neuen Projekts können Konflikte mit zuvor bereitgestellten Ressourcen vermieden werden, beispielsweise Ressourcen, die für Produktionsarbeitslasten verwendet werden.
So erstellen Sie ein Projekt:
-
In the Google Cloud console, go to the project selector page.
-
Click Create project.
-
Name your project. Make a note of your generated project ID.
-
Edit the other fields as needed.
-
Click Create.
Erforderliche IAM-Berechtigungen abrufen
Zum Starten des Bereitstellungsprozesses benötigen Sie die in der folgenden Tabelle aufgeführten IAM-Berechtigungen (Identity and Access Management).
Wenn Sie ein neues Projekt für diese Lösung erstellt haben, haben Sie in diesem Projekt die einfache Rolle roles/owner
und alle erforderlichen Berechtigungen. Wenn Sie die Rolle roles/owner
nicht haben, bitten Sie Ihren Administrator, Ihnen die Berechtigungen (oder die Rollen mit diesen Berechtigungen) zu gewähren.
Erforderliche IAM-Berechtigung | Vordefinierte Rolle mit den erforderlichen Berechtigungen |
---|---|
|
Service Usage-Administrator ( roles/serviceusage.serviceUsageAdmin ) |
|
Dienstkontoadministrator ( roles/iam.serviceAccountAdmin ) |
|
Projekt-IAM-Administrator ( roles/resourcemanager.projectIamAdmin ) |
config.deployments.create config.deployments.list |
Cloud Infrastructure Manager Admin ( roles/config.admin ) |
Temporäre Dienstkontoberechtigungen
Wenn Sie den Bereitstellungsprozess über die Console starten, erstellt Google ein Dienstkonto, um die Lösung für Sie bereitzustellen und die Bereitstellung später zu löschen, wenn Sie dies möchten. Diesem Dienstkonto werden bestimmte IAM-Berechtigungen vorübergehend zugewiesen. Das heißt, die Berechtigungen werden automatisch widerrufen, nachdem die Bereitstellungs- und Löschvorgänge für die Lösung abgeschlossen sind. Google empfiehlt, dass Sie nach dem Löschen der Bereitstellung das Dienstkonto löschen, wie weiter unten in dieser Anleitung beschrieben.
Rollen aufrufen, die dem Dienstkonto zugewiesen sind
Diese Rollen sind hier aufgeführt, falls ein Administrator Ihres Google Cloud-Projekts oder Ihrer Organisation diese Informationen benötigt.
roles/aiplatform.admin
roles/bigquery.admin
roles/cloudfunctions.admin
roles/config.agent
roles/datalineage.viewer
roles/dataform.admin
roles/iam.serviceAccountAdmin
roles/iam.serviceAccountUser
roles/iam.serviceAccountTokenCreator
roles/logging.configWriter
roles/resourcemanager.projectIamAdmin
roles/run.invoker
roles/serviceusage.serviceUsageAdmin
roles/storage.admin
roles/workflows.admin
Lösung bereitstellen
Damit Sie diese Lösung mit minimalem Aufwand bereitstellen können, wird in GitHub eine Terraform-Konfiguration bereitgestellt. Die Terraform-Konfiguration definiert alle Google Cloud-Ressourcen, die für die Lösung erforderlich sind.
Sie können die Lösung mit einer der folgenden Methoden bereitstellen:
Über die Console: Verwenden Sie diese Methode, wenn Sie die Lösung mit der Standardkonfiguration testen und sehen möchten, wie sie funktioniert. Cloud Build stellt alle für die Lösung erforderlichen Ressourcen bereit. Wenn Sie die bereitgestellte Lösung nicht mehr benötigen, können Sie sie aus der Console löschen. Alle Ressourcen, die Sie nach der Bereitstellung der Lösung erstellen, müssen möglicherweise separat gelöscht werden.
Folgen Sie der Anleitung unter Über die Console bereitstellen, um diese Bereitstellungsmethode zu verwenden.
Terraform-Befehlszeile verwenden: Verwenden Sie diese Methode, wenn Sie die Lösung anpassen oder die Bereitstellung und Verwaltung der Ressourcen mithilfe von Infrastruktur als Code (IaC) automatisieren möchten. Laden Sie die Terraform-Konfiguration von GitHub herunter, passen Sie optional den Code nach Bedarf an und stellen Sie die Lösung mit der Terraform-Befehlszeile bereit. Nachdem Sie die Lösung bereitgestellt haben, können Sie sie mit Terraform verwalten.
Folgen Sie der Anleitung unter Mit der Terraform CLI bereitstellen, um diese Bereitstellungsmethode zu verwenden.
Über die Console bereitstellen
Führen Sie die folgenden Schritte aus, um die vorkonfigurierte Lösung bereitzustellen.
Wechseln Sie im Google Cloud-Katalog der Schnellstartlösungen zur Seite Data Warehouse mit BigQuery.
Prüfen Sie die auf der Seite bereitgestellten Informationen, z. B. die geschätzten Kosten der Lösung und die geschätzte Bereitstellungszeit.
Wenn Sie die Lösung bereitstellen möchten, klicken Sie auf Bereitstellen.
Es wird ein Bereich mit einer Schritt-für-Schritt-Konfiguration angezeigt.
Führen Sie die Schritte im Konfigurationsbereich aus.
Notieren Sie sich den Namen, den Sie für die Bereitstellung eingegeben haben. Sie benötigen diesen Namen später, wenn Sie die Bereitstellung löschen.
Wenn Sie auf Bereitstellen klicken, wird die Seite Lösungsbereitstellungen angezeigt. Im Feld Status auf dieser Seite wird Wird bereitgestellt angezeigt.
Warten Sie, bis die Lösung bereitgestellt wurde.
Wenn die Bereitstellung fehlschlägt, wird im Feld Status der Eintrag Fehlgeschlagen angezeigt. Sie können das Cloud Build-Log verwenden, um die Fehler zu diagnostizieren. Weitere Informationen finden Sie unter Fehler bei der Bereitstellung über die Console.
Wenn die Bereitstellung abgeschlossen ist, ändert sich das Feld Status in Bereitgestellt.
Klicken Sie zum Prüfen der bereitgestellten Ressourcen auf das Menü
Aktionen und wählen Sie Ressourcen ansehen aus.Die Seite Asset-Inventar der Google Cloud Console wird in einem neuen Browsertab geöffnet. Auf dieser Seite werden die BigQuery-Objekte, die Cloud Functions-Funktion, der Workflows-Workflow, das Pub/Sub-Thema und die Eventarc-Trigger-Ressourcen aufgelistet, die von der Lösung bereitgestellt werden.
Klicken Sie zum Anzeigen der Details jeder Ressource in der Spalte Anzeigename auf den Namen der Ressource.
Kehren Sie in der Console zur Seite Lösungsbereitstellungen zurück, um die Lösung anzuzeigen und zu verwenden.
- Klicken Sie auf das Menü Aktionen.
- Wählen Sie Looker Studio-Dashboard ansehen aus, um ein Dashboard zu öffnen, das auf den Beispieldaten basiert, die mit der Lösung transformiert werden.
- Wählen Sie BigQuery-Editor öffnen aus, um Abfragen auszuführen und Modelle für maschinelles Lernen (ML) mit den Beispieldaten in der Lösung zu erstellen.
Wenn Sie die Lösung nicht mehr benötigen, können Sie die Bereitstellung löschen, um weitere Kosten für die Google Cloud-Ressourcen zu vermeiden. Weitere Informationen finden Sie unter Bereitstellung löschen.
Mit der Terraform-Befehlszeile bereitstellen
In diesem Abschnitt wird beschrieben, wie Sie die Lösung anpassen oder die Bereitstellung und Verwaltung der Lösung mit der Terraform CLI automatisieren können. Lösungen, die Sie mit der Terraform-Befehlszeile bereitstellen, werden auf der Seite Lösungsbereitstellungen in der Google Cloud Console nicht angezeigt.
Terraform-Client einrichten
Sie können Terraform entweder in Cloud Shell oder auf Ihrem lokalen Host ausführen. In dieser Anleitung wird beschrieben, wie Sie Terraform in Cloud Shell ausführen. Dort ist Terraform vorinstalliert und für die Authentifizierung bei Google Cloud konfiguriert.
Der Terraform-Code für diese Lösung ist in einem GitHub-Repository verfügbar.
Klonen Sie das GitHub-Repository in Cloud Shell.
Es wird eine Eingabeaufforderung angezeigt, um das Herunterladen des GitHub-Repositorys in Cloud Shell zu bestätigen.
Klicken Sie auf Bestätigen.
Cloud Shell wird in einem separaten Browser-Tab gestartet und der Terraform-Code wird in das Verzeichnis
$HOME/cloudshell_open
Ihrer Cloud Shell-Umgebung heruntergeladen.Prüfen Sie in Cloud Shell, ob das aktuelle Arbeitsverzeichnis
$HOME/cloudshell_open/terraform-google-bigquery/modules/data_warehouse
ist. Dies ist das Verzeichnis, das die Terraform-Konfigurationsdateien für die Lösung enthält. Wenn Sie in dieses Verzeichnis wechseln müssen, führen Sie den folgenden Befehl aus:cd $HOME/cloudshell_open/terraform-google-bigquery/modules/data_warehouse
Initialisieren Sie Terraform mit dem folgenden Befehl:
terraform init
Warten Sie, bis folgende Meldung angezeigt wird:
Terraform has been successfully initialized!
Terraform-Variablen konfigurieren
Der heruntergeladene Terraform-Code enthält Variablen, mit denen Sie die Bereitstellung entsprechend Ihren Anforderungen anpassen können. Sie können beispielsweise das Google Cloud-Projekt und die Region angeben, in der die Lösung bereitgestellt werden soll.
Achten Sie darauf, dass das aktuelle Arbeitsverzeichnis
$HOME/cloudshell_open/terraform-google-bigquery/modules/data_warehouse
ist. Ist dies nicht der Fall, wechseln Sie zu diesem Verzeichnis.Erstellen Sie im selben Verzeichnis eine Textdatei mit dem Namen
terraform.tfvars
.Kopieren Sie in der Datei
terraform.tfvars
das folgende Code-Snippet und legen Sie Werte für die erforderlichen Variablen fest.- Folgen Sie den Anleitungen, die im Code-Snippet als Kommentare angegeben sind.
- Dieses Code-Snippet enthält nur die Variablen, für die Sie Werte festlegen müssen. Die Terraform-Konfiguration enthält andere Variablen mit Standardwerten. Informationen zu allen Variablen und Standardwerten finden Sie in der Datei
variables.tf
im Verzeichnis$HOME/cloudshell_open/terraform-google-bigquery/modules/data_warehouse
. - Achten Sie darauf, dass jeder in der Datei
terraform.tfvars
festgelegte Wert mit dem Typ der Variable übereinstimmt, wie in der Dateivariables.tf
angegeben. Beispiel: Wenn der Typ, der für eine Variable in der Dateivariables.tf
definiert wurde,bool
ist, müssen Sietrue
oderfalse
als Wert dieser Variable in der Dateiterraform.tfvars
angeben.
# This is an example of the terraform.tfvars file. # The values in this file must match the variable types declared in variables.tf. # The values in this file override any defaults in variables.tf. # ID of the project in which you want to deploy the solution project_id = "PROJECT_ID" # Google Cloud region where you want to deploy the solution # Example: us-central1 region = "REGION" # Whether or not to enable underlying apis in this solution. # Example: true enable_apis = true # Whether or not to protect BigQuery resources from deletion when solution is modified or changed. # Example: false force_destroy = false # Whether or not to protect Cloud Storage resources from deletion when solution is modified or changed. # Example: true deletion_protection = true # Name of the BigQuery ML GenAI remote model used for text generation # Example: "text_generate_model" text_generation_model_name = "text_generate_model"
Weitere Informationen zu den Werten, die Sie den erforderlichen Variablen zuweisen können, finden Sie hier:
project_id
: Projekte identifizieren.region
: Verfügbare Regionen und Zonen
Terraform-Konfiguration validieren und prüfen
Prüfen Sie, ob das aktuelle Arbeitsverzeichnis
$HOME/cloudshell_open/terraform-google-bigquery/modules/data_warehouse
ist. Ist dies nicht der Fall, wechseln Sie zu diesem Verzeichnis.Prüfen Sie, ob die Terraform-Konfiguration Fehler enthält:
terraform validate
Wenn der Befehl einen Fehler zurückgibt, nehmen Sie die erforderlichen Korrekturen in der Konfiguration vor und führen Sie den Befehl
terraform validate
noch einmal aus. Wiederholen Sie diesen Schritt, bis der Befehl die folgende Meldung zurückgibt:Success! The configuration is valid.
Sehen Sie sich die Ressourcen an, die in der Konfiguration definiert sind:
terraform plan
Wenn Sie die Datei
terraform.tfvars
nicht wie zuvor beschrieben erstellt haben, werden Sie von Terraform zur Eingabe von Werten für die Variablen aufgefordert, die keine Standardwerte haben. Geben Sie die erforderlichen Werte ein.Die Ausgabe des Befehls
terraform plan
ist eine Liste der Ressourcen, die Terraform beim Anwenden der Konfiguration bereitstellt.Wenn Sie Änderungen vornehmen möchten, bearbeiten Sie die Konfiguration und führen Sie dann die Befehle
terraform validate
undterraform plan
noch einmal aus.
Ressourcen bereitstellen
Wenn keine weiteren Änderungen an der Terraform-Konfiguration erforderlich sind, stellen Sie die Ressourcen bereit.
Prüfen Sie, ob das aktuelle Arbeitsverzeichnis
$HOME/cloudshell_open/terraform-google-bigquery/modules/data_warehouse
ist. Ist dies nicht der Fall, wechseln Sie zu diesem Verzeichnis.Wenden Sie die Terraform-Konfiguration an:
terraform apply
Wenn Sie die Datei
terraform.tfvars
nicht wie zuvor beschrieben erstellt haben, werden Sie von Terraform zur Eingabe von Werten für die Variablen aufgefordert, die keine Standardwerte haben. Geben Sie die erforderlichen Werte ein.Terraform zeigt eine Liste der Ressourcen an, die erstellt werden.
Wenn Sie aufgefordert werden, die Aktionen auszuführen, geben Sie
yes
ein.In Terraform werden Nachrichten angezeigt, die den Fortschritt der Bereitstellung anzeigen.
Wenn die Bereitstellung nicht abgeschlossen werden kann, zeigt Terraform die Fehler an, die den Fehler verursacht haben. Prüfen Sie die Fehlermeldungen und aktualisieren Sie die Konfiguration, um die Fehler zu beheben. Führen Sie den Befehl
terraform apply
dann noch einmal aus. Hilfe zur Fehlerbehebung bei Terraform-Fehlern finden Sie unter Fehler bei der Bereitstellung der Lösung mit der Terraform-Befehlszeile.Nachdem alle Ressourcen erstellt wurden, zeigt Terraform die folgende Meldung an:
Apply complete!
Die Terraform-Ausgabe listet auch die folgenden zusätzlichen erforderlichen Informationen auf:
- Die Looker Studio-URL des bereitgestellten Dashboards.
- Der Link zum Öffnen des BigQuery-Editors für einige Beispielabfragen.
Das folgende Beispiel zeigt, wie die Ausgabe aussieht:
lookerstudio_report_url = "https://lookerstudio.google.com/reporting/create?c.reportId=8a6517b8-8fcd-47a2-a953-9d4fb9ae4794&ds.ds_profit.datasourceName=lookerstudio_report_profit&ds.ds_profit.projectId=my-cloud-project&ds.ds_profit.type=TABLE&ds.ds_profit.datasetId=ds_edw&ds.ds_profit.tableId=lookerstudio_report_profit&ds.ds_dc.datasourceName=lookerstudio_report_distribution_centers&ds.ds_dc.projectId=my-cloud-project&ds.ds_dc.type=TABLE&ds.ds_dc.datasetId=ds_edw&ds.ds_dc.tableId=lookerstudio_report_distribution_centers" bigquery_editor_url = "https://console.cloud.google.com/bigquery?project=my-cloud-project&ws=!1m5!1m4!6m3!1smy-cloud-project!2sds_edw!3ssp_sample_queries"
Zur Anzeige und Verwendung des Dashboards und zum Ausführen von Abfragen in BigQuery kopieren Sie die Ausgabe-URLs aus dem vorherigen Schritt und öffnen die URLs in neuen Browsertabs.
Das Dashboard und der BigQuery-Editor werden in den neuen Tabs angezeigt.
Nehmen Sie an einer interaktiven Tour teil, um alle bereitgestellten Google Cloud-Ressourcen aufzurufen.
Wenn Sie die Lösung nicht mehr benötigen, können Sie die Bereitstellung löschen, um weitere Kosten für die Google Cloud-Ressourcen zu vermeiden. Weitere Informationen finden Sie unter Bereitstellung löschen.
Lösung anpassen
Dieser Abschnitt enthält Informationen, mit denen Terraform-Entwickler die Lösung „Data Warehouse mit BigQuery“ so ändern können, dass sie ihren eigenen technischen und geschäftlichen Anforderungen entspricht. Die Anleitung in diesem Abschnitt ist nur relevant, wenn Sie die Lösung mit der Terraform CLI bereitstellen.
Wenn Sie gesehen haben, wie die Lösung mit den Beispieldaten funktioniert, möchten Sie vielleicht mit Ihren eigenen Daten arbeiten. Legen Sie sie dazu in dem Cloud Storage-Bucket namens edw-raw-hash
ab. Der Hash ist ein zufälliger String mit 8 Zeichen, der während der Bereitstellung generiert wird. Sie können den Terraform-Code so ändern:
- Dataset-ID. Ändern Sie den Terraform-Code so, dass beim Erstellen des BigQuery-Datasets die Dataset-ID verwendet wird, die Sie für Ihre Daten verwenden möchten.
- Schema. Ändern Sie den Terraform-Code so, dass er die BigQuery-Tabellen-ID erstellt, die Sie zum Speichern Ihrer Daten verwenden möchten. Dazu gehört auch das Schema der externen Tabelle, damit BigQuery die Daten aus Cloud Storage lesen kann.
- Geplante Abfragen. Fügen Sie gespeicherte Prozeduren hinzu, um die gewünschte Analyse durchzuführen.
- Looker-Dashboards. Ändern Sie den Terraform-Code, der ein Looker-Dashboard erstellt, damit das Dashboard die von Ihnen verwendeten Daten widerspiegelt.
Im Folgenden finden Sie gängige Data-Warehouse-Objekte, die den Terraform-Beispielcode in main.tf
zeigen.
-
BigQuery-Dataset: Das Schema, in dem Datenbankobjekte gruppiert und gespeichert werden.
resource "google_bigquery_dataset" "ds_edw" { project = module.project-services.project_id dataset_id = "DATASET_PHYSICAL_ID" friendly_name = "DATASET_LOGICAL_NAME" description = "DATASET_DESCRIPTION" location = "REGION" labels = var.labels delete_contents_on_destroy = var.force_destroy }
-
BigQuery-Tabelle: Ein Datenbankobjekt, das Daten darstellt, die in BigQuery gespeichert sind, oder das ein Datenschema darstellt, das in Cloud Storage gespeichert ist.
resource "google_bigquery_table" "tbl_edw_inventory_items" { dataset_id = google_bigquery_dataset.ds_edw.dataset_id table_id = "TABLE_NAME" project = module.project-services.project_id deletion_protection = var.deletion_protection ... }
-
Gespeicherte Prozedur in BigQuery: Ein Datenbankobjekt, das eine oder mehrere SQL-Anweisungen darstellt, die per Aufruf ausgeführt werden. Es könnte dazu dienen, Daten von einer Tabelle in eine andere zu transformieren oder Daten aus einer externen Tabelle in eine Standardtabelle zu laden.
resource "google_bigquery_routine" "sp_sample_translation_queries" { project = module.project-services.project_id dataset_id = google_bigquery_dataset.ds_edw.dataset_id routine_id = "sp_sample_translation_queries" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("${path.module}/assets/sql/sp_sample_translation_queries.sql", { project_id = module.project-services.project_id }) }
-
Geplante Abfrage in BigQuery: Ein Dienstprogramm, mit dem die Ausführung einer Abfrage oder einer gespeicherten Prozedur mit einer festgelegten Häufigkeit geplant werden kann.
resource "google_bigquery_data_transfer_config" "dts_config" { display_name = "TRANSFER_NAME" project = module.project-services.project_id location = "REGION" data_source_id = "scheduled_query" schedule = "every day 00:00" params = { query = "CALL
${module.project-services.project_id}.ds_edw.sp_lookerstudio_report
()" } }
Führen Sie folgende Schritte in Cloud Shell aus, um die Lösung anzupassen:
Prüfen Sie, ob das aktuelle Arbeitsverzeichnis
$HOME/cloudshell_open/terraform-google-bigquery/modules/data_warehouse
ist. Ist dies nicht der Fall, wechseln Sie zu diesem Verzeichnis:cd $HOME/cloudshell_open/terraform-google-bigquery/modules/data_warehouse
Öffnen Sie
main.tf
und nehmen Sie die gewünschten Änderungen vor.Weitere Informationen zu den Auswirkungen einer solchen Anpassung auf Zuverlässigkeit, Sicherheit, Leistung, Kosten und Vorgänge finden Sie unter Designempfehlungen.
Designempfehlungen
Dieser Abschnitt enthält Empfehlungen zur Verwendung der Lösung „Data Warehouse mit BigQuery“, um eine Architektur zu entwickeln, die Ihren Anforderungen an Sicherheit, Zuverlässigkeit, Kosten und Leistung entspricht.
Bei der Skalierung mit BigQuery haben Sie verschiedene Möglichkeiten, die Abfrageleistung zu verbessern und die Gesamtausgaben zu reduzieren. Zu diesen Methoden gehören die Änderung der Art der physischen Speicherung der Daten, die Änderung der SQL-Abfragen und die Verwendung von Slot-Reservierungen zur Sicherstellung der Kostenleistung. Weitere Informationen zum Skalieren und Ausführen Ihres Data Warehouse finden Sie unter Einführung in die Optimierung der Abfrageleistung.
Hinweis:
- Bevor Sie Designänderungen vornehmen, prüfen Sie die Kostenauswirkungen und berücksichtigen Sie mögliche Kompromisse mit anderen Features. Sie können die Kostenauswirkungen von Designänderungen mit dem Google Cloud-Preisrechner bewerten.
- Wenn Sie Designänderungen in der Lösung implementieren möchten, benötigen Sie Fachwissen über die Terraform-Codierung und erweiterte Kenntnisse über die in der Lösung verwendeten Google Cloud-Dienste.
- Wenn Sie die von Google bereitgestellte Terraform-Konfiguration ändern und dann Fehler auftreten, erstellen Sie Probleme in GitHub. GitHub-Probleme werden auf Best-Effort-Basis geprüft und sind nicht für allgemeine Fragen zur Nutzung vorgesehen.
- Informationen zum Entwerfen und Einrichten von produktionstauglichen Umgebungen in Google Cloud finden Sie unter Design der Landing-Zone in Google Cloud und in der Checkliste für die Einrichtung von Google Cloud.
Bereitstellung löschen
Löschen Sie die Bereitstellung, wenn Sie die Lösungsbereitstellung nicht mehr benötigen, um eine weitere Abrechnung der von Ihnen erstellten Ressourcen zu vermeiden.
Über die Console löschen
Verwenden Sie dieses Verfahren, wenn Sie die Lösung über die Console bereitgestellt haben.
Rufen Sie in der Google Cloud Console die Seite Lösungsbereitstellungen auf.
Wählen Sie das Projekt aus, das die Bereitstellung enthält, die Sie löschen möchten.
Suchen Sie die Bereitstellung, die Sie löschen möchten.
Klicken Sie auf
Aktionen und wählen Sie Löschen aus.Geben Sie den Namen der Bereitstellung ein und klicken Sie auf Bestätigen.
Im Feld Status wird Löschen angezeigt.
Wenn der Löschvorgang fehlschlägt, lesen Sie die Anleitung zur Fehlerbehebung unter Fehler beim Löschen einer Bereitstellung.
Wenn Sie das für die Lösung verwendete Google Cloud-Projekt nicht mehr benötigen, können Sie das Projekt löschen. Weitere Informationen finden Sie unter Optional: Projekt löschen.
Mit der Terraform-Befehlszeile löschen
Verwenden Sie dieses Verfahren, wenn Sie die Lösung mit der Terraform CLI bereitgestellt haben.
Prüfen Sie in Cloud Shell, ob das aktuelle Arbeitsverzeichnis
$HOME/cloudshell_open/terraform-google-bigquery/modules/data_warehouse
ist. Ist dies nicht der Fall, wechseln Sie zu diesem Verzeichnis.Entfernen Sie die von Terraform bereitgestellten Ressourcen:
terraform destroy
Terraform zeigt eine Liste der Ressourcen an, die gelöscht werden.
Wenn Sie aufgefordert werden, die Aktionen auszuführen, geben Sie
yes
ein.Terraform zeigt Nachrichten mit dem Fortschritt an. Nachdem alle Ressourcen gelöscht wurden, zeigt Terraform die folgende Meldung an:
Destroy complete!
Wenn der Löschvorgang fehlschlägt, lesen Sie die Anleitung zur Fehlerbehebung unter Fehler beim Löschen einer Bereitstellung.
Wenn Sie das für die Lösung verwendete Google Cloud-Projekt nicht mehr benötigen, können Sie das Projekt löschen. Weitere Informationen finden Sie unter Optional: Projekt löschen.
Optional: Projekt löschen
Wenn Sie die Lösung in einem neuen Google Cloud-Projekt bereitgestellt haben und das Projekt nicht mehr benötigen, löschen Sie es mit den folgenden Schritten:
- Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.
- Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie auf Löschen.
- Geben Sie an der Eingabeaufforderung die Projekt-ID ein und klicken Sie auf Beenden.
Wenn Sie das Projekt behalten möchten, löschen Sie das Dienstkonto, das für diese Lösung erstellt wurde, wie im nächsten Abschnitt beschrieben.
Optional: Dienstkonto löschen
Wenn Sie das Projekt gelöscht haben, das Sie für die Lösung verwendet haben, überspringen Sie diesen Abschnitt.
Wie bereits in diesem Leitfaden erwähnt, wurde bei der Bereitstellung der Lösung ein Dienstkonto für Sie erstellt. Dem Dienstkonto wurden vorübergehend bestimmte IAM-Berechtigungen zugewiesen; Das heißt, die Berechtigungen werden nach dem Abschluss der Bereitstellungs- und Löschvorgänge der Lösung automatisch widerrufen, aber das Dienstkonto wird nicht gelöscht. Google empfiehlt, dass Sie dieses Dienstkonto löschen.
Wenn Sie die Lösung über die Google Cloud Console bereitgestellt haben, rufen Sie die Seite Lösungsbereitstellungen auf. Wenn Sie sich bereits auf dieser Seite befinden, aktualisieren Sie den Browser. Im Hintergrund wird ein Prozess ausgelöst, mit dem das Dienstkonto gelöscht wird. Es sind keine weiteren Aktionen erforderlich.
Wenn Sie die Lösung mithilfe der Terraform-Befehlszeile bereitgestellt haben, führen Sie folgende Schritte aus:
Rufen Sie in der Google Cloud Console die Seite Dienstkonten auf:
Wählen Sie das Projekt aus, das Sie für die Lösung verwendet haben.
Wählen Sie das Dienstkonto aus, das Sie löschen möchten.
Die E-Mail-ID des Dienstkontos, das für die Lösung erstellt wurde, hat das folgende Format:
goog-sc-DEPLOYMENT_NAME-NNN@PROJECT_ID.iam.gserviceaccount.com
Die E-Mail-ID enthält die folgenden Werte:
- DEPLOYMENT_NAME: Der Name der Bereitstellung.
- NNN: Eine zufällige dreistellige Zahl.
- PROJECT_ID: Die ID des Projekts, in dem Sie die Lösung bereitgestellt haben.
Klicken Sie auf Löschen.
Fehler beheben
Welche Aktionen Sie zur Diagnose und Behebung von Fehlern ausführen können, hängt von der Bereitstellungsmethode und der Komplexität des Fehlers ab.
Fehler bei der Bereitstellung über die Console
Wenn Sie die Console verwenden und die Bereitstellung fehlschlägt, gehen Sie so vor:
Rufen Sie die Seite Lösungsbereitstellungen auf.
Wenn die Bereitstellung fehlgeschlagen ist, wird im Feld Status der Eintrag Fehlgeschlagen angezeigt.
So rufen Sie die Details zu den Fehlern auf, die das Problem verursacht haben:
Klicken Sie auf
Aktionen.Wählen Sie Cloud Build-Logs ansehen aus.
Prüfen Sie das Cloud Build-Log und ergreifen Sie entsprechende Maßnahmen, um das Problem zu beheben.
Fehler bei der Bereitstellung mit der Terraform-Befehlszeile
Wenn die Bereitstellung bei Verwendung von Terraform fehlschlägt, enthält die Ausgabe des Befehls terraform
apply
Fehlermeldungen, die Sie prüfen können, um das Problem zu diagnostizieren.
Die Beispiele in den folgenden Abschnitten zeigen Bereitstellungsfehler, die bei der Verwendung von Terraform auftreten können.
Fehler „API nicht aktiviert“
Wenn Sie ein Projekt erstellen und dann sofort versuchen, die Lösung im neuen Projekt bereitzustellen, schlägt die Bereitstellung mit folgendem Fehler möglicherweise fehl:
Error: Error creating Network: googleapi: Error 403: Compute Engine API has not
been used in project PROJECT_ID before or it is disabled. Enable it by visiting
https://console.developers.google.com/apis/api/compute.googleapis.com/overview?project=PROJECT_ID
then retry. If you enabled this API recently, wait a few minutes for the action
to propagate to our systems and retry.
Wenn dieser Fehler auftritt, warten Sie einige Minuten und führen Sie dann den Befehl terraform apply
noch einmal aus.
Fehler beim Zuweisen der angeforderten Adresse
Wenn Sie den terraform apply
-Befehl ausführen, kann ein cannot assign requested address
-Fehler mit einer Meldung wie der folgenden auftreten:
Error: Error creating service account:
Post "https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts:
dial tcp [2001:db8:ffff:ffff::5f]:443:
connect: cannot assign requested address
Wenn dieser Fehler auftritt, führen Sie den terraform apply
-Befehl noch einmal aus.
Fehler beim Zugriff auf Daten in BigQuery oder Looker Studio
Es gibt einen Bereitstellungsschritt, der nach den Bereitstellungsschritten von Terraform ausgeführt wird, die Daten in die Umgebung laden. Wenn beim Laden der Daten in das Looker Studio-Dashboard eine Fehlermeldung angezeigt wird oder wenn Sie beim Starten von BigQuery keine Objekte sehen, warten Sie einige Minuten und versuchen Sie es noch einmal.
Fehler beim Löschen einer Bereitstellung
In bestimmten Fällen können Versuche, eine Bereitstellung zu löschen, fehlschlagen:
- Wenn Sie nach dem Bereitstellen einer Lösung über die Console eine Ressource ändern, die von der Lösung bereitgestellt wurde, und Sie dann versuchen, die Bereitstellung zu löschen, schlägt der Vorgang möglicherweise fehl. Das Feld Status auf der Seite Lösungsbereitstellungen zeigt Fehlgeschlagen und das Cloud Build-Log zeigt die Fehlerursache an.
- Wenn Sie nach dem Bereitstellen einer Lösung mit der Terraform-Befehlszeile eine Ressource über eine Nicht-Terraform-Schnittstelle ändern (z. B. die Console) und dann versuchen, die Bereitstellung zu löschen, schlägt der Vorgang möglicherweise fehl. Die Nachrichten in der Ausgabe des Befehls
terraform destroy
enthalten die Ursache des Fehlers.
Überprüfen Sie die Fehlerlogs und -meldungen, identifizieren und löschen Sie die Ressourcen, die den Fehler verursacht haben, und versuchen Sie dann noch einmal, die Bereitstellung zu löschen.
Wenn eine console-basierte Bereitstellung nicht gelöscht wird und Sie den Fehler nicht mit dem Cloud Build-Log diagnostizieren können, können Sie die Bereitstellung mit der Terraform-Befehlszeile löschen. Dies wird im nächsten Abschnitt beschrieben.
Console-basierte Bereitstellung mithilfe der Terraform-Befehlszeile löschen
In diesem Abschnitt wird beschrieben, wie Sie eine console-basierte Bereitstellung löschen, wenn Fehler beim Löschen aus der Console auftreten. Bei diesem Ansatz laden Sie die Terraform-Konfiguration für die Bereitstellung herunter, die Sie löschen möchten, und verwenden dann die Terraform-Befehlszeile, um die Bereitstellung zu löschen.
Ermitteln Sie die Region, in der der Terraform-Code, die Logs und andere Daten der Bereitstellung gespeichert sind. Diese Region kann sich von der Region unterscheiden, die Sie bei der Bereitstellung der Lösung ausgewählt haben.
Rufen Sie in der Google Cloud Console die Seite Lösungsbereitstellungen auf.
Wählen Sie das Projekt aus, das die Bereitstellung enthält, die Sie löschen möchten.
Identifizieren Sie in der Liste der Bereitstellungen die Zeile für die Bereitstellung, die Sie löschen möchten.
Klicken Sie auf
Gesamten Zeileninhalt ansehen.Beachten Sie in der Spalte Standort den zweiten Standort, wie im folgenden Beispiel hervorgehoben:
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Erstellen Sie Umgebungsvariablen für die Projekt-ID, die Region und den Namen der Bereitstellung, die Sie löschen möchten:
export REGION="REGION" export PROJECT_ID="PROJECT_ID" export DEPLOYMENT_NAME="DEPLOYMENT_NAME"
Ersetzen Sie in diesen Befehlen Folgendes:
- REGION: der Standort, den Sie zuvor in dieser Prozedur notiert haben.
- PROJECT_ID: die ID des Projekts, in dem Sie die Lösung bereitgestellt haben.
- DEPLOYMENT_NAME: der Name der Bereitstellung, die Sie löschen möchten.
Rufen Sie die ID der neuesten Überarbeitung der Bereitstellung ab, die Sie löschen möchten:
export REVISION_ID=$(curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://config.googleapis.com/v1alpha2/projects/${PROJECT_ID}/locations/${REGION}/deployments/${DEPLOYMENT_NAME}" \ | jq .latestRevision -r) echo $REVISION_ID
Die Ausgabe sieht in etwa so aus:
projects/PROJECT_ID/locations/REGION/deployments/DEPLOYMENT_NAME/revisions/r-0
Rufen Sie den Cloud Storage-Speicherort der Terraform-Konfiguration für die Bereitstellung ab:
export CONTENT_PATH=$(curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://config.googleapis.com/v1alpha2/${REVISION_ID}" \ | jq .applyResults.content -r) echo $CONTENT_PATH
Im Folgenden finden Sie ein Beispiel für die Ausgabe dieses Befehls:
gs://PROJECT_ID-REGION-blueprint-config/DEPLOYMENT_NAME/r-0/apply_results/content
Laden Sie die Terraform-Konfiguration von Cloud Storage in Cloud Shell herunter:
gsutil cp -r $CONTENT_PATH $HOME cd $HOME/content/modules/data_warehouse
Warten Sie, bis die Meldung
Operation completed
angezeigt wird, wie im folgenden Beispiel gezeigt:Operation completed over 45 objects/268.5 KiB
Initialisieren Sie Terraform:
terraform init
Warten Sie, bis folgende Meldung angezeigt wird:
Terraform has been successfully initialized!
Entfernen Sie die bereitgestellten Ressourcen:
terraform destroy
Terraform zeigt eine Liste der Ressourcen an, die gelöscht werden.
Wenn Warnungen zu nicht deklarierten Variablen angezeigt werden, ignorieren Sie die Warnungen.
Wenn Sie aufgefordert werden, die Aktionen auszuführen, geben Sie
yes
ein.Terraform zeigt Nachrichten mit dem Fortschritt an. Nachdem alle Ressourcen gelöscht wurden, zeigt Terraform die folgende Meldung an:
Destroy complete!
Löschen Sie das Bereitstellungsartefakt:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://config.googleapis.com/v1alpha2/projects/${PROJECT_ID}/locations/${REGION}/deployments/${DEPLOYMENT_NAME}?force=true&delete_policy=abandon"
Warten Sie einige Sekunden und prüfen Sie dann, ob das Bereitstellungsartefakt gelöscht wurde:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://config.googleapis.com/v1alpha2/projects/${PROJECT_ID}/locations/${REGION}/deployments/${DEPLOYMENT_NAME}" \ | jq .error.message
Wenn in der Ausgabe
null
angezeigt wird, warten Sie einige Sekunden und führen Sie den Befehl noch einmal aus.Nachdem das Bereitstellungsartefakt gelöscht wurde, wird wie im folgenden Beispiel gezeigt eine Meldung angezeigt:
Resource 'projects/PROJECT_ID/locations/REGION/deployments/DEPLOYMENT_NAME' was not found
Feedback geben
Schnellstartlösungen dienen nur zu Informationszwecken und sind keine offiziell unterstützten Produkte. Google kann Lösungen ohne Vorankündigung ändern oder entfernen.
Prüfen Sie zur Behebung von Fehlern die Cloud Build-Logs und die Terraform-Ausgabe.
So senden Sie Feedback:
- Verwenden Sie für Dokumentation, Anleitungen in der Console oder die Lösung die Schaltfläche Feedback senden auf der Seite.
- Erstellen Sie bei unverändertem Terraform-Code Fragen im GitHub-Repository. GitHub-Probleme werden auf Best-Effort-Basis geprüft und sind nicht für allgemeine Fragen zur Nutzung vorgesehen.
- Bei Problemen mit Produkten, die in der Lösung verwendet werden, wenden Sie sich an den Cloud Customer Care.
Nächste Schritte
- Informationen zu BigQuery
- Text mit der Funktion ML.GENERATE_TEXT generieren
- Informationen zu Looker Studio