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. Dieses Dokument richtet sich an Nutzer, die mit der Google Cloud -Konsole vertraut sind.

Mit der Funktion für Übersetzungsregeln können Sie anpassen, wie der interaktive SQL-Übersetzer SQL übersetzt.

Hinweis

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 Impala SQL
  • Apache Spark SQL
  • Azure Synapse-T-SQL
  • GoogleSQL (BigQuery)
  • 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

Nicht unterstützte SQL-Funktionen mit Hilfs-UDFs verarbeiten

Beim Übersetzen von SQL aus einem Quelldialekt in BigQuery gibt es für einige Funktionen möglicherweise keine direkte Entsprechung. Um dieses Problem zu beheben, stellt der BigQuery Migration Service (und die BigQuery-Community im Allgemeinen) benutzerdefinierte Hilfsfunktionen (UDFs) bereit, die das Verhalten dieser nicht unterstützten Funktionen des Quelldialekts nachbilden.

Diese benutzerdefinierten Funktionen sind häufig im öffentlichen Dataset bqutil zu finden, sodass übersetzte Anfragen anfangs im Format bqutil.<dataset>.<function>() darauf verweisen können. Beispiel: bqutil.fn.cw_count()

Wichtige Hinweise für Produktionsumgebungen:

bqutil bietet zwar einen praktischen Zugriff auf diese Hilfs-UDFs für die erste Übersetzung und das Testen, die direkte Nutzung von bqutil für Produktionsarbeitslasten wird jedoch aus mehreren Gründen nicht empfohlen:

  1. Versionsverwaltung: Im Projekt bqutil wird die aktuelle Version dieser UDFs gehostet. Das bedeutet, dass sich ihre Definitionen im Laufe der Zeit ändern können. Wenn Sie sich direkt auf bqutil verlassen, kann dies zu unerwartetem Verhalten oder zu funktionsgefährdenden Änderungen in Ihren Produktionsabfragen führen, wenn die Logik einer UDF aktualisiert wird.
  2. Abhängigkeitsisolation: Wenn Sie UDFs in Ihrem eigenen Projekt bereitstellen, wird Ihre Produktionsumgebung vor externen Änderungen geschützt.
  3. Anpassung: Möglicherweise müssen Sie diese benutzerdefinierten Funktionen ändern oder optimieren, damit sie besser zu Ihrer spezifischen Geschäftslogik oder Ihren Leistungsanforderungen passen. Das ist nur möglich, wenn sie sich in Ihrem eigenen Projekt befinden.
  4. Sicherheit und Governance: Die Sicherheitsrichtlinien Ihrer Organisation schränken möglicherweise den direkten Zugriff auf öffentliche Datasets wie bqutil für die Verarbeitung von Produktionsdaten ein. Das Kopieren von UDFs in Ihre kontrollierte Umgebung entspricht diesen Richtlinien.

Hilfs-UDFs in Ihrem Projekt bereitstellen:

Für eine zuverlässige und stabile Verwendung in der Produktion sollten Sie diese Hilfs-UDFs in Ihrem eigenen Projekt und Dataset bereitstellen. So haben Sie die volle Kontrolle über ihre Version, Anpassung und ihren Zugriff. Eine detaillierte Anleitung zur Bereitstellung dieser UDFs finden Sie im Bereitstellungsleitfaden für UDFs auf GitHub. Dieser Leitfaden enthält die erforderlichen Skripts und Schritte zum Kopieren der UDFs in Ihre Umgebung.

Standorte

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

Beschreibung der Region Name der Region Details
Asiatisch-pazifischer Raum
Bangkok asia-southeast3
Delhi asia-south2
Hongkong asia-east2
Jakarta asia-southeast2
Melbourne australia-southeast2
Mumbai asia-south1
Osaka asia-northeast2
Seoul asia-northeast3
Singapur asia-southeast1
Sydney australia-southeast1
Taiwan asia-east1
Tokio asia-northeast1
Europa
Belgien europe-west1 Blattsymbol Niedriger CO2-Wert
Berlin europe-west10
EU (multiregional) eu
Finnland europe-north1 Blattsymbol Niedriger CO2-Wert
Frankfurt europe-west3
London europe-west2 Blattsymbol Niedriger CO2-Wert
Madrid europe-southwest1 Blattsymbol Niedriger CO2-Wert
Mailand europe-west8
Niederlande europe-west4 Blattsymbol Niedriger CO2-Wert
Paris europe-west9 Blattsymbol Niedriger CO2-Wert
Stockholm europe-north2 Blattsymbol Niedriger CO2-Wert
Turin europe-west12
Warschau europe-central2
Zürich europe-west6 Blattsymbol Niedriger CO2-Wert
Amerika
Columbus, Ohio us-east5
Dallas us-south1 Blattsymbol Niedriger CO2-Wert
Iowa us-central1 Blattsymbol Niedriger CO2-Wert
Las Vegas us-west4
Los Angeles us-west2
Mexiko northamerica-south1
Northern Virginia us-east4
Oregon us-west1 Blattsymbol Niedriger CO2-Wert
Québec northamerica-northeast1 Blattsymbol Niedriger CO2-Wert
São Paulo southamerica-east1 Blattsymbol Niedriger CO2-Wert
Salt Lake City us-west3
Santiago