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 der Funktion für Übersetzungsregeln (Vorabversion) 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 die Verwendung föderierter Identitäten nicht.

Vorbereitung

Wenn Ihr Google Cloud-Befehlszeilenprojekt vor dem 15. Februar 2022 erstellt wurde, aktivieren Sie die BigQuery Migration API so:

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery Migration API auf.

    Zu „BigQuery Migration API“

  2. 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

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 des interaktiven Übersetzers benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierte Rolle enthält die Berechtigungen, die zum Verwenden des interaktiven Übersetzers erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um den interaktiven Übersetzer zu verwenden:

  • bigquerymigration.workflows.create
  • bigquerymigration.workflows.get

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

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 die folgenden SQL-Dialekte 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 Verarbeitungsorten 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 Blattsymbol Niedriger CO2-Wert
Madrid europe-southwest1 Blattsymbol Niedriger CO2-Wert
Belgien europe-west1 Blattsymbol Niedriger CO2-Wert
London europe-west2 Blattsymbol Niedriger CO2-Wert
Frankfurt europe-west3 Blattsymbol Niedriger CO2-Wert
Niederlande europe-west4 Blattsymbol Niedriger CO2-Wert
Zürich europe-west6 Blattsymbol Niedriger CO2-Wert
Paris europe-west9 Blattsymbol Niedriger CO2-Wert
Turin europe-west12
Amerika
Québec northamerica-northeast1 Blattsymbol Niedriger CO2-Wert
São Paulo southamerica-east1 Blattsymbol Niedriger CO2-Wert
USA (mehrere Regionen) us
Iowa us-central1 Blattsymbol Niedriger CO2-Wert
South Carolina us-east1
Northern Virginia us-east4
Columbus, Ohio us-east5
Dallas us-south1 Blattsymbol Niedriger CO2-Wert
Oregon us-west1 Blattsymbol Niedriger CO2-Wert
Los Angeles us-west2
Salt Lake City us-west3

Die Funktion Übersetzungsregel ist an den folgenden Verarbeitungsorten 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 GoogleSQL zu übersetzen:

  1. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    BigQuery aufrufen

  2. Klicken Sie im Bereich Editor auf Mehr und wählen Sie dann Übersetzungseinstellungen aus.

  3. Wählen Sie unter Quelldialekt den SQL-Dialekt aus, den Sie übersetzen möchten.

  4. 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.

  5. Klicken Sie auf Speichern.

  6. Klicken Sie im Bereich Editor auf Mehr und wählen Sie dann SQL-Übersetzung aktivieren aus.

    Der Bereich Bearbeiter wird in zwei Bereiche unterteilt.

  7. Geben Sie im linken Bereich die Abfrage ein, die übersetzt werden soll.

  8. 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:

    Eine in GoogleSQL übersetzte Teradata-SQL-Abfrage wird angezeigt.

  9. Optional: Klicken Sie auf Ausführen, um die übersetzte GoogleSQL-Abfrage auszuführen.

  10. 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.

Interaktiven SQL-Übersetzer konfigurieren

Sie können den interaktiven SQL-Übersetzer konfigurieren, um die Übersetzung Ihres Quell-SQL anzupassen. Dazu können Sie eigene Regeln für die Verwendung mit Gemini in einer YAML-Konfigurationsdatei angeben oder eine YAML-Konfigurationsdatei mit SQL-Objektmetadaten oder Informationen zur Objektzuordnung bereitstellen.

Übersetzungsregel erstellen

Sie können die Übersetzung von SQL durch den interaktiven SQL-Übersetzer anpassen, indem Sie Übersetzungsregeln erstellen. Der interaktive SQL-Übersetzer passt seine Übersetzungen an die von Ihnen zugewiesenen Gemini-optimierten SQL-Übersetzungsregeln an. So können Sie die Übersetzungsergebnisse an Ihre Migrationsanforderungen anpassen. Diese Funktion wird nur an bestimmten Standorten unterstützt.

So erstellen Sie eine Gemini-optimierte SQL-Übersetzungsregel:

Console

So erstellen Sie eine Gemini-optimierte SQL-Übersetzungsregel:

  1. Klicken Sie nach dem Ausführen einer interaktiven Übersetzung auf Hilfe und dann auf Diese Übersetzung anpassen.

    Übersetzungsschaltfläche anpassen

  2. Verwenden Sie einen oder beide der folgenden Prompts, um eine Übersetzungsregel zu erstellen:

    • Geben Sie in der Eingabeaufforderung Muster suchen und ersetzen im Feld Ersetzen ein SQL-Muster sowie ein zu ersetzendes SQL-Muster an. Geben Sie es im Feld Mit ein.

      Ein SQL-Muster kann beliebig viele Anweisungen, Klauseln oder Funktionen in einem SQL-Script enthalten. Wenn Sie eine Regel mit dieser Aufforderung erstellen, werden bei der erweiterten SQL-Übersetzung mit Gemini alle Instanzen dieses SQL-Musters in der Übersetzungsausgabe erkannt und dynamisch durch ein anderes SQL-Muster ersetzt. Mit diesem Prompt können Sie beispielsweise eine Regel erstellen, die alle Vorkommen von months_between (X,Y) durch date_diff(X,Y,MONTH) ersetzt.

    • Geben Sie im Feld Beschreiben Sie eine Änderung der Ausgabe eine Änderung an der SQL-Übersetzungsausgabe in natürlicher Sprache ein.

      Wenn Sie eine Regel mit diesem Prompt erstellen, erkennt die Gemini-gestützte SQL-Übersetzung die Anfrage und nimmt die angegebene Änderung an der Übersetzungsausgabe vor.

  3. Klicken Sie auf Vorschau.

  4. Sehen Sie sich im Dialogfeld Vorschau der vorgeschlagenen Änderungen die Änderungen an, die die Gemini-optimierte SQL-Übersetzung an der Übersetzungsausgabe basierend auf Ihrer Regel vorgenommen hat.

  5. Optional: Wenn Sie diese Regel für zukünftige Übersetzungen hinzufügen möchten, klicken Sie das Kästchen Regel hinzufügen… an.

    Regeln werden in der YAML-Datei der Standardkonfiguration (__default.ai_config.yaml) gespeichert. Diese YAML-Konfigurationsdatei wird im Cloud Storage-Ordner gespeichert, der im Feld Speicherort der Übersetzungskonfiguration in den Übersetzungseinstellungen angegeben ist. Für YAML-Konfigurationsdateien gelten Größenbeschränkungen.

  6. Klicken Sie auf Übernehmen, um die vorgeschlagenen Änderungen auf die Übersetzungsausgabe anzuwenden.

YAML

Wenn Sie eine Gemini-optimierte SQL-Übersetzungsregel erstellen möchten, können Sie eine Gemini-basierte YAML-Konfigurationsdatei erstellen und in Cloud Storage hochladen. Weitere Informationen finden Sie unter Gemini-basierte YAML-Konfigurationsdatei erstellen und Gemini-basierte YAML-Konfigurationsdatei auf die nächste Übersetzung anwenden.

Gemini-basierte YAML-Konfigurationsdatei auf die nächste Übersetzung anwenden

So wenden Sie eine YAML-Konfigurationsdatei auf KI-Ausgaben an:

  1. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    BigQuery aufrufen

  2. Klicken Sie im Abfrageeditor auf Mehr > Übersetzungseinstellungen.

  3. Geben Sie im Feld Speicherort der Übersetzungskonfiguration den Pfad zur Gemini-basierten YAML-Datei an, die in einem Cloud Storage-Ordner gespeichert ist.

  4. Klicken Sie auf Speichern. Nach einer interaktiven Übersetzung erscheint auf der Schaltfläche Hilfe ein roter Punkt, um anzuzeigen, dass ein Gemini-Vorschlag verfügbar ist.

  5. Klicken Sie auf Unterstützen und dann auf Vorschläge ansehen, um sich die vom Gemini-gestützten SQL-Übersetzungsdienst vorgeschlagenen Änderungen an der Übersetzungsausgabe anzusehen.

    Sehen Sie sich die Vorschläge an.

  6. Sehen Sie sich im Dialogfeld Vorschau der vorgeschlagenen Änderungen die Änderungen an, die die Gemini-optimierte SQL-Übersetzung an der Übersetzungsausgabe basierend auf Ihrer Regel vorgenommen hat.

  7. Klicken Sie auf Übernehmen, um die vorgeschlagenen Änderungen auf die Übersetzungsausgabe anzuwenden.

Übersetzung erklären

Nachdem Sie eine interaktive Übersetzung ausgeführt haben, können Sie eine von Gemini generierte Texterklärung anfordern. Der generierte Text enthält eine Zusammenfassung der übersetzten SQL-Abfrage. Gemini erkennt auch Übersetzungsunterschiede und Inkonsistenzen zwischen der Quell-SQL-Abfrage und der übersetzten GoogleSQL-Abfrage.

So rufen Sie eine von Gemini generierte Erklärung zur SQL-Übersetzung auf:

  1. Wenn Sie eine von Gemini generierte Erklärung für eine SQL-Übersetzung erstellen möchten, klicken Sie auf Hilfe und dann auf Diese Übersetzung erklären.

    Schaltfläche „Übersetzung erklären“

Mit einer Batchübersetzungskonfigurations-ID übersetzen

Sie können eine interaktive Abfrage mit denselben Übersetzungskonfigurationen wie bei einem Batchübersetzungsjob ausführen. Geben Sie dazu eine Batchübersetzungskonfigurations-ID an.

  1. Klicken Sie im Abfrageeditor auf Mehr > Übersetzungseinstellungen.
  2. 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.

  3. Klicken Sie auf Speichern.

Mit zusätzlichen Konfigurationen übersetzen

Sie können eine interaktive Abfrage mit zusätzlichen Übersetzungskonfigurationen ausführen. Geben Sie dazu YAML-Konfigurationsdateien an, die in einem Cloud Storage-Ordner gespeichert sind. Ü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 durch Angabe eines Speicherorts für die Quelldateien der Übersetzungskonfiguration an:

  1. Klicken Sie im Abfrageeditor auf Mehr > Übersetzungseinstellungen.
  2. 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.

  3. 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.

Fehler bei der Übersetzung beheben

Die folgenden Fehler können bei der Verwendung des interaktiven SQL-Übersetzers auftreten.

Probleme mit der Übersetzung von RelationNotFound oder AttributeNotFound

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: