Abfragen mit dem interaktiven SQL-Übersetzer übersetzen
In diesem Dokument wird beschrieben, wie Sie eine Abfrage mit einem interaktiven SQL-Übersetzer in einen Google SQL-Abfragejob von BigQuery in eine Google SQL-Abfrage übersetzen. Der interaktive SQL-Übersetzer kann den Zeit- und Arbeitsaufwand für die Migration von Arbeitslasten zu BigQuery reduzieren. Das Dokument richtet sich an Nutzer, die mit der Google Cloud Console vertraut sind.
Wenn Ihr Standort unterstützt wird, können Sie mit dem Feature für Übersetzungsregeln (Vorschau) die Art und Weise anpassen, wie der interaktive SQL-Übersetzer SQL übersetzt. “
Beschränkungen
Sie müssen mit einem Google-Konto angemeldet sein, um den interaktiven SQL-Übersetzer verwenden zu können. Der interaktive SQL-Übersetzer unterstützt nicht die Verwendung von föderierten Identitäten.
Hinweise
Wenn Ihr Google Cloud-Befehlszeilenprojekt vor dem 15. Februar 2022 erstellt wurde, aktivieren Sie die BigQuery Migration API so:
Rufen Sie in der Google Cloud Console die Seite BigQuery Migration API auf.
Klicken Sie auf Aktivieren.
Berechtigungen und Rollen
In diesem Abschnitt werden die IAM-Berechtigungen (Identity and Access Management) beschrieben, die Sie zur Verwendung des interaktiven SQL-Übersetzers benötigen, einschließlich der vordefinierten IAM-Rollen, die diese Berechtigungen gewähren. In diesem Abschnitt werden auch die Berechtigungen beschrieben, die zum Konfigurieren zusätzlicher Übersetzungskonfigurationen erforderlich sind.
Berechtigungen zur Verwendung des interaktiven SQL-Übersetzers
Zur Verwendung des interaktiven SQL-Übersetzers benötigen Sie die folgende Berechtigung:
bigquerymigration.translation.translate
Die folgende vordefinierte IAM-Rolle bietet die Berechtigung, die Sie für die Verwendung des interaktiven SQL-Übersetzers benötigen:
roles/bigquerymigration.translationUser
Zum Ausführen einer Abfrage beim interaktiven SQL-Übersetzer benötigen Sie die gleichen Berechtigungen wie für jede Abfrage in BigQuery. Wenn Sie beispielsweise eine Tabelle abfragen möchten, müssen Sie über die Berechtigung zum Lesen der Daten der Tabelle verfügen. Weitere Informationen finden Sie unter BigQuery-Daten abfragen.
Berechtigungen zum Konfigurieren zusätzlicher Übersetzungskonfigurationen
Sie können zusätzliche Übersetzungskonfigurationen mithilfe der Felder Übersetzungs-Konfigurations-ID und Quellspeicherort der Übersetzungskonfiguration in den Übersetzungseinstellungen konfigurieren. Zum Konfigurieren dieser Übersetzungskonfigurationen benötigen Sie die folgenden Berechtigungen:
bigquerymigration.workflows.get
bigquerymigration.workflows.list
Die folgende vordefinierte IAM-Rolle enthält die Berechtigungen, die Sie zum Konfigurieren zusätzlicher Übersetzungskonfigurationen benötigen:
roles/bigquerymigration.viewer
Weitere Informationen zu BigQuery IAM finden Sie unter Zugriffssteuerung mit IAM.
Unterstützte SQL-Dialekte
Der interaktive BigQuery-SQL-Übersetzer kann den folgenden SQL-Dialekt in GoogleSQL übersetzen:
- Amazon Redshift-SQL
- Apache HiveQL und Beeline-Befehlszeile
- IBM Netezza SQL und NZPLSQL
- Teradata and Teradata Vantage:
- SQL
- Basic Teradata Query (BTEQ)
- Teradata Parallel Transport (TPT)
Darüber hinaus wird die Übersetzung der folgenden SQL-Dialekte in der Vorschau unterstützt:
- Apache Spark SQL
- Azure Synapse-T-SQL
- Greenplum SQL
- IBM DB2-SQL
- MySQL SQL
- Oracle SQL, PL/SQL, Exadata
- PostgreSQL-SQL
- Trino oder PrestoSQL
- Snowflock-SQL
- SQL Server T-SQL
- SQLite
- Vertica SQL
Standorte
Der interaktive SQL-Übersetzer ist an den folgenden Verarbeitungsstandorten verfügbar:
Beschreibung der Region | Name der Region | Details | |
---|---|---|---|
Asiatisch-pazifischer Raum | |||
Tokio | asia-northeast1 |
||
Mumbai | asia-south1 |
||
Singapur | asia-southeast1 |
||
Sydney | australia-southeast1 |
||
Europa | |||
EU (mehrere Regionen) | eu |
||
Warschau | europe-central2 |
||
Finnland | europe-north1 |
Niedriger CO2-Wert | |
Madrid | europe-southwest1 |
||
Belgien | europe-west1 |
Niedriger CO2-Wert | |
London | europe-west2 |
Niedriger CO2-Wert | |
Frankfurt | europe-west3 |
Niedriger CO2-Wert | |
Niederlande | europe-west4 |
||
Zürich | europe-west6 |
Niedriger CO2-Wert | |
Paris | europe-west9 |
Niedriger CO2-Wert | |
Turin | europe-west12 |
||
Amerika | |||
São Paulo | southamerica-east1 |
Niedriger CO2-Wert | |
USA (mehrere Regionen) | us |
||
Iowa | us-central1 |
Niedriger CO2-Wert | |
South Carolina | us-east1 |
||
Northern Virginia | us-east4 |
||
Columbus, Ohio | us-east5 |
||
Dallas | us-south1 |
||
Oregon | us-west1 |
Niedriger CO2-Wert | |
Los Angeles | us-west2 |
||
Salt Lake City | us-west3 |
Das Feature für Übersetzungsregeln ist an den folgenden Verarbeitungsstandorten verfügbar:
us
USA (mehrere Regionen)eu
EU (mehrere Regionen)us-central1
(Iowa)europe-west4
(Niederlande)
Abfrage in Google SQL übersetzen
Führen Sie diese Schritte aus, um eine Abfrage in Google SQL zu übersetzen:
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Klicken Sie im Bereich Editor auf Mehr und wählen Sie dann Übersetzungseinstellungen aus.
Wählen Sie unter Quelldialekt den SQL-Dialekt aus, den Sie übersetzen möchten.
Optional. Wählen Sie unter Verarbeitungsort den Ort aus, an dem der Übersetzungsjob ausgeführt werden soll. Wenn Sie sich beispielsweise in Europa befinden und Ihre Daten keine Standortgrenzen überschreiten möchten, wählen Sie die Region
eu
aus.Klicken Sie auf Speichern.
Klicken Sie im Bereich Editor auf Mehr und wählen Sie dann SQL-Übersetzung aktivieren aus.
Der Bereich Bearbeiter wird in zwei Bereiche unterteilt.
Geben Sie im linken Bereich die Abfrage ein, die übersetzt werden soll.
Klicken Sie auf Übersetzen.
BigQuery übersetzt Ihre Abfrage in GoogleSQL und zeigt sie im rechten Bereich an. Der folgende Screenshot zeigt beispielsweise übersetzte Teradata SQL:
Optional: Klicken Sie auf Ausführen, um die übersetzte GoogleSQL-Abfrage auszuführen.
Optional: Klicken Sie auf Mehr und wählen Sie dann SQL-Übersetzung deaktivieren aus, um zum SQL-Editor zurückzukehren.
Im Bereich Editor ist wieder ein einzelnes Feld zu sehen.
Übersetzungsregel erstellen
Sie können die Art und Weise anpassen, wie der interaktive SQL-Übersetzer SQL übersetzt. Dazu erstellen Sie Übersetzungsregeln. Der interaktive SQL-Übersetzer passt seine Übersetzungen basierend auf allen Gemini-optimierten SQL-Übersetzungsregeln an, die Sie ihm zuweisen. So können Sie die Übersetzungsergebnisse an Ihre Migrationsanforderungen anpassen. Dieses Feature wird nur an bestimmten Standorten unterstützt.
So erstellen Sie eine Gemini-optimierte SQL-Übersetzungsregel:
Klicken Sie nach dem Ausführen einer interaktiven Übersetzung auf Anpassen.
Verwenden Sie eine oder beide der folgenden Prompts, um eine Übersetzungsregel zu erstellen:
Geben Sie in der Eingabeaufforderung SQL-Muster durch andere ersetzen im Feld Ersetzen ein SQL-Muster sowie ein zu ersetzendes SQL-Muster an. Geben Sie es im Feld With (Mit) ein.
Ein SQL-Muster kann eine beliebige Anzahl von Anweisungen, Klauseln oder Funktionen in einem SQL-Skript enthalten. Wenn Sie mit dieser Eingabeaufforderung eine Regel erstellen, identifiziert die erweiterte SQL-Übersetzung für Gemini alle Instanzen dieses SQL-Musters in der Übersetzungsausgabe und ersetzt sie dynamisch durch ein anderes SQL-Muster. Mit dieser Eingabeaufforderung können Sie beispielsweise eine Regel erstellen, die alle Vorkommen von
months_between (X,Y)
durchdate_diff(X,Y,MONTH)
ersetzt.Beschreiben Sie im Feld Änderung der Übersetzungsausgabe beschreiben eine Änderung der SQL-Übersetzungsausgabe in natürlicher Sprache.
Wenn Sie mit dieser Eingabeaufforderung eine Regel erstellen, identifiziert die Gemini-erweiterte SQL-Übersetzung die Anfrage und nimmt die angegebene Änderung an der Übersetzungsausgabe vor.
Klicken Sie auf Preview (Vorschau).
Prüfen Sie im Dialogfeld Vorschau der Änderungsvorschläge die Änderungen, die von der Gemini-optimierten SQL-Übersetzung in die Übersetzungsausgabe basierend auf Ihrer Regel vorgenommen wurden.
Optional: Klicken Sie auf das Kästchen Regel hinzufügen..., um diese Regel für zukünftige Übersetzungen hinzuzufügen.
Regeln werden in einer YAML-Konfigurationsdatei gespeichert, wie in den Übersetzungseinstellungen im Feld Speicherort der Übersetzungskonfiguration angegeben. Weitere Informationen zu YAML-Konfigurationsdateien finden Sie unter Abfrage mit zusätzlichen Konfigurationen übersetzen. Eine YAML-Konfigurationsdatei kann bis zu zehn Übersetzungsregeln unterstützen.
Klicken Sie auf Übernehmen, um die vorgeschlagenen Änderungen auf die Übersetzungsausgabe anzuwenden.
Leistung interaktiver Übersetzungsjobs verbessern
Aktivieren Sie die konsolidierte Übersetzungs-API, um die Stabilität zu verbessern und Netzwerkzeitüberschreitungsprobleme bei lang andauernden interaktiven Übersetzungsjobs zu verhindern, z. B. bei Verwendung eines großen Metadatendateipakets. Die konsolidierte Übersetzungs-API kombiniert den interaktiven Übersetzer und den Batch-Übersetzer in einem einzigen Workflow, wodurch die Effizienz und Stabilität Ihrer interaktiven Übersetzungsjobs verbessert wird.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle MigrationWorkflow-Bearbeiter (roles/bigquerymigration.editor
) für die Ressource parent
zu gewähren, um die Berechtigungen zu erhalten, die Sie für die Verwendung der konsolidierten Übersetzungs-API mit dem interaktiven Übersetzer benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.
Diese vordefinierte Rolle enthält die Berechtigungen, die zum Verwenden der konsolidierten Übersetzungs-API mit dem interaktiven Übersetzer erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um die konsolidierte Übersetzungs-API mit dem interaktiven Übersetzer zu verwenden:
-
bigquerymigration.workflows.create
-
bigquerymigration.workflows.get
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Konsolidierte Übersetzungs-API aktivieren
Füllen Sie das Formular für die Zulassungsliste für die konsolidierte Übersetzungs-API aus, um die konsolidierte Übersetzungs-API für den interaktiven Übersetzer zu aktivieren. Weitere Informationen zur Verwendung der konsolidierten Übersetzungs-API mit dem Batch-SQL-Übersetzer finden Sie in der API-Anleitung unter Übersetzungsjob senden.
Abfrage mit zusätzlichen Konfigurationen übersetzen
Sie können eine interaktive Abfrage mit zusätzlichen Übersetzungskonfigurationen ausführen. Stellen Sie dazu eine Batchübersetzungskonfigurations-ID oder mit in einem Cloud Storage-Ordner gespeicherten Konfigurationsdateien bereit. Übersetzungskonfigurationen können SQL-Objektmetadaten oder Informationen zur Objektzuordnung aus der Quelldatenbank enthalten, die die Übersetzungsqualität verbessern können. Nehmen Sie beispielsweise DDL-Informationen oder -Schemas aus der Quelldatenbank auf, um die Qualität der interaktiven SQL-Übersetzung zu verbessern.
So geben Sie Übersetzungskonfigurationen an, indem Sie eine Batchübersetzungskonfigurations-ID bereitstellen:
- Klicken Sie im Abfrageeditor auf Mehr > Übersetzungseinstellungen.
Geben Sie im Feld Übersetzungskonfigurations-ID eine Batchübersetzungskonfigurations-ID an, um dieselbe Übersetzungskonfiguration aus einem abgeschlossenen BigQuery-Batch-Migrationsjob anzuwenden.
Wählen Sie auf der Seite SQL-Übersetzung einen Batchübersetzungsjob aus und klicken Sie dann auf den Tab Übersetzungskonfiguration, um die Batch-Konfigurations-ID eines Jobs zu ermitteln. Die Konfigurations-ID für die Batchübersetzung wird als Ressourcenname aufgeführt.
Klicken Sie auf Speichern.
So geben Sie Übersetzungskonfigurationen an, indem Sie einen Speicherort für die Quelldateien der Übersetzungskonfiguration angeben:
- Klicken Sie im Abfrageeditor auf Mehr > Übersetzungseinstellungen.
Geben Sie im Feld Speicherort der Übersetzungskonfiguration den Pfad zu den Konfigurationsdateien für die Übersetzung an, die in einem Cloud Storage-Ordner gespeichert ist.
Der interaktive BigQuery-SQL-Übersetzer unterstützt Konfigurationsdateien mit Übersetzungsmetadaten und Objektnamenzuordnung. Informationen zum Hochladen von Dateien in Cloud Storage finden Sie unter Objekte aus einem Dateisystem hochladen.
Klicken Sie auf Speichern.
Größenbeschränkungen für Konfigurationsdateien
Wenn Sie eine Konfigurationsdatei für die Übersetzung mit dem interaktiven BigQuery-SQL-Übersetzer verwenden, muss die komprimierte Metadatendatei oder YAML-Konfigurationsdatei kleiner als 50 MB sein. Wenn die Datei größer als 50 MB ist, überspringt der interaktive Übersetzer diese Konfigurationsdatei während der Übersetzung und erstellt eine Fehlermeldung wie die folgende:
CONFIG ERROR: Skip reading file "gs://metadata-file.zip". File size (150,000,000 bytes)
exceeds limit (50 MB).
Eine Methode zur Reduzierung der Größe der Metadatendatei besteht darin, mit den Flags --database
oder --schema
nur Metadaten für Datenbanken oder Schemas zu extrahieren, die für die Abfragen der Übersetzungseingabe relevant sind. Weitere Informationen zur Verwendung dieser Flags beim Generieren von Metadatendateien finden Sie unter Globale Flags.
Übersetzungsfehler beheben
Bei der Verwendung des interaktiven SQL-Übersetzers können die folgenden Fehler auftreten.
RelationNotFound
- oder AttributeNotFound
-Übersetzungsprobleme
Geben Sie die Anweisungen zur Datendefinitionssprache (Data Definition Language, DDL) für alle Tabellen ein, die in einer Abfrage vor der Abfrage selbst verwendet wurden, um eine möglichst genaue Übersetzung zu gewährleisten. Wenn Sie beispielsweise die Amazon Redshift-Abfrage select table1.field1, table2.field1
from table1, table2 where table1.id = table2.id;
übersetzen möchten, geben Sie die folgenden SQL-Anweisungen in den interaktiven SQL-Übersetzer ein:
create table schema1.table1 (id int, field1 int, field2 varchar(16));
create table schema1.table2 (id int, field1 varchar(30), field2 date);
select table1.field1, table2.field1
from table1, table2
where table1.id = table2.id;
Preise
Für die Verwendung des interaktiven SQL-Übersetzers fallen keine Kosten an. Für die Speicherung von Eingabe- und Ausgabedateien werden jedoch die normalen Gebühren berechnet. Weitere Informationen finden Sie unter Speicherpreise.
Nächste Schritte
Mehr über die folgenden Schritte bei der Data Warehouse-Migration erfahren:
- Übersicht über die Migration
- Migrationsbewertung
- Schema- und Datenübertragung
- Batch-SQL-Übersetzung
- Datenpipelines
- Datensicherheit und Governance
- Datenvalidierungstool