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.

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

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 Google SQL übersetzen:

  • Amazon Redshift-SQL
  • Apache HiveQL und Beeline-Befehlszeile
  • IBM Netezza SQL und NZPLSQL
  • Teradata und 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
  • MySQL SQL
  • Oracle SQL, PL/SQL, Exadata
  • PostgreSQL-SQL
  • Trino oder PrestoSQL
  • Snowflock-SQL
  • SQL Server T-SQL
  • SQLite
  • Vertica SQL

Abfrage in Google SQL übersetzen

Führen Sie diese Schritte aus, um eine Abfrage in Google SQL 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 Google SQL und zeigt sie im rechten Bereich an. Der folgende Screenshot zeigt beispielsweise übersetzte Teradata SQL:

    Anzeigen einer in Google SQL übersetzten Teradata-SQL-Abfrage

  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.

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:

  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.

So geben Sie Übersetzungskonfigurationen durch Angabe einer Quelldatei für die Übersetzungskonfiguration an:

  1. Klicken Sie im Abfrageeditor auf Mehr > Übersetzungseinstellungen.
  2. Geben Sie im Feld Speicherort der Übersetzungskonfiguration den Pfad zu einer Konfigurationsdatei 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.

Beschränkungen

Der interaktive SQL-Übersetzer hat keine Schemainformationen für die Abfragen, die Sie für die Übersetzung eingeben. 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;

Standorte

Der interaktive SQL-Übersetzer ist an den folgenden Verarbeitungsstandorten verfügbar:

  • us USA (mehrere Regionen)
  • eu EU (mehrere Regionen)
  • southamerica-east1 (São Paulo)
  • us-central1 (Iowa)
  • asia-northeast1 (Tokio)
  • asia-south1 (Mumbai)
  • asia-southeast1 (Singapur)
  • australia-southeast1 (Sydney)
  • europe-central2 (Warschau)
  • europe-north1 (Finnland)
  • europe-west1 (Belgien)
  • europe-west2 (London)
  • europe-west3 (Frankfurt)

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: