Code mit dem Batch-SQL-Übersetzer migrieren
In diesem Dokument wird beschrieben, wie Sie mit dem Batch-SQL-Übersetzer in BigQuery Skripts, die in anderen SQL-Dialekten geschrieben sind, in GoogleSQL-Abfragen übersetzen. Das Dokument richtet sich an Nutzer, die mit der Google Cloud Console vertraut sind.
Hinweise
Führen Sie die folgenden Schritte aus, bevor Sie einen Übersetzungsjob senden:
- Prüfen, ob Sie die erforderlichen Berechtigungen haben
- Aktivieren Sie die BigQuery Migration API.
- Erfassen Sie die Quelldateien mit den SQL-Skripts und Abfragen, die übersetzt werden sollen.
- Optional. Erstellen Sie eine Metadatendatei, um die Genauigkeit der Übersetzung zu verbessern.
- Optional. Entscheiden Sie, ob SQL-Objektnamen in den Quelldateien neuen Namen in BigQuery zugeordnet werden müssen. Legen Sie fest, welche Namenszuordnungsregeln verwendet werden sollen, wenn dies erforderlich ist.
- Entscheiden Sie, welche Methode zum Senden des Übersetzungsjobs verwendet werden soll.
- Quelldateien in Cloud Storage hochladen
Erforderliche Berechtigungen
Um den BigQuery-Migrationsdienst zu aktivieren, benötigen Sie die folgenden Berechtigungen für das Projekt:
resourcemanager.projects.get
serviceusage.services.enable
serviceusage.services.get
Um auf den BigQuery-Migrationsdienst zugreifen und ihn verwenden zu können, benötigen Sie die folgenden Berechtigungen für das Projekt:
bigquerymigration.workflows.create
bigquerymigration.workflows.get
bigquerymigration.workflows.list
bigquerymigration.workflows.delete
bigquerymigration.subtasks.get
bigquerymigration.subtasks.list
Alternativ können Sie für diese Berechtigungen die folgenden Rollen zuweisen:
bigquerymigration.viewer
– Lesezugriff.bigquerymigration.editor
– Lese-/Schreibzugriff.
So greifen Sie auf die Cloud Storage-Buckets für Eingabe- und Ausgabedateien zu:
storage.objects.get
für den Cloud Storage-Quell-Bucketstorage.objects.list
für den Cloud Storage-Quell-Bucketstorage.objects.create
für den Cloud Storage-Ziel-Bucket
Sie können alle oben genannten erforderlichen Cloud Storage-Berechtigungen durch Zuweisen der folgenden Rollen erteilen:
roles/storage.objectAdmin
roles/storage.admin
BigQuery Migration API aktivieren
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.
Quelldateien erfassen
Quelldateien müssen Textdateien sein, die gültigen SQL-Code für den Quelldialekt enthalten. Quelldateien können auch Kommentare enthalten. Versuchen Sie mithilfe der verfügbaren Methoden, die SQL-Gültigkeit zu prüfen.
Metadatendateien erstellen
Damit der Dienst genauere Übersetzungsergebnisse generieren kann, empfehlen wir die Bereitstellung von Metadatendateien. Dies ist jedoch nicht obligatorisch.
Zum Generieren der Metadateninformationen können Sie das dwh-migration-dumper
-Befehlszeilentool verwenden oder Ihre eigenen Metadatendateien bereitstellen. Sobald Metadatendateien vorbereitet sind, können Sie diese zusammen mit den Quelldateien in den Quellordner für die Übersetzung aufnehmen. Der Übersetzer erkennt sie automatisch und nutzt sie zum Übersetzen von Quelldateien. Sie müssen keine zusätzlichen Einstellungen konfigurieren, um dies zu aktivieren.
Informationen zum Generieren von Metadateninformationen mit dem dwh-migration-dumper
-Tool finden Sie unter Metadaten für die Übersetzung generieren.
Erfassen Sie zur Bereitstellung Ihrer eigenen Metadaten die DDL-Anweisungen (Data Definition Language) für die SQL-Objekte in Ihrem Quellsystem in separaten Textdateien.
SQL-Objektnamen zuordnen
Sie können während der Batchübersetzung optional eine Zuordnung von Ausgabenamen ausführen. Wenn Sie eine Ausgabenamenzuordnung verwenden, geben Sie Namenszuordnungsregeln an, die die Namen von SQL-Objekten im Quellsystem in neue Namen in BigQuery ändern. Beispiel: In Ihrem Quellsystem befindet sich das Objekt schema1.table1
und Sie möchten, dass dieses Objekt in BigQuery den Namen project1.dataset1.table1
hat. Wenn Sie eine Ausgabenamenzuordnung verwenden, sollten Sie Ihre Namenszuordnungsregeln definieren, bevor Sie einen Batchübersetzungsjob starten. Sie können diese Regeln beim Konfigurieren des Jobs manuell eingeben oder eine JSON-Datei mit den Namenszuordnungsregeln erstellen und diese dann hochladen.
Entscheiden, wie der Übersetzungsjob gesendet werden soll
Zum Senden eines Batchübersetzungsjobs haben Sie drei Möglichkeiten:
Batch-Übersetzungsclient: Konfigurieren Sie einen Job, indem Sie die Einstellungen in einer Konfigurationsdatei ändern und den Job über die Befehlszeile senden. Bei diesem Ansatz müssen Sie die Quelldateien nicht manuell in Cloud Storage hochladen. Der Client verwendet während der Verarbeitung des Übersetzungsjobs weiterhin Cloud Storage zum Speichern von Dateien.
Der Batchübersetzungsclient ist ein Open-Source-Python-Client, mit dem Sie Quelldateien auf Ihrem lokalen Computer übersetzen und in ein lokales Verzeichnis ausgeben können. Sie konfigurieren den Client für die grundlegende Verwendung, indem Sie einige Einstellungen in der Konfigurationsdatei ändern. Wenn Sie möchten, können Sie den Client auch so konfigurieren, dass komplexere Aufgaben wie die Makroersetzung und die Vor- und Nachbearbeitung von Übersetzungseingaben und -ausgaben erfüllt werden. Weitere Informationen finden Sie in der readme des Batchübersetzungsclients.
Google Cloud Console: Job über eine Benutzeroberfläche konfigurieren und senden. Bei diesem Ansatz müssen Sie Quelldateien in Cloud Storage hochladen.
YAML-Konfigurationsdateien erstellen
Sie können optional YAML-Konfigurationsdateien erstellen und verwenden, um Ihre Batchübersetzungen anzupassen. Diese Dateien können zum Transformieren Ihrer Übersetzungsausgabe auf verschiedene Arten verwendet werden. Sie können beispielsweise eine YAML-Konfigurationsdatei erstellen, um die Groß-/Kleinschreibung eines SQL-Objekts während der Übersetzung zu ändern.
Wenn Sie die Google Cloud Console oder die BigQuery Migration API für einen Batchübersetzungsjob verwenden möchten, können Sie die YAML-Konfigurationsdatei in den Cloud Storage-Bucket mit den Quelldateien hochladen.
Wenn Sie den Batchübersetzungsclient verwenden möchten, können Sie die YAML-Konfigurationsdatei im lokalen Ordner für die Übersetzungseingabe ablegen.
Eingabedateien nach Cloud Storage hochladen
Wenn Sie die Cloud Console oder die BigQuery Migration API verwenden möchten, um einen Übersetzungsjob auszuführen, müssen Sie die Quelldateien mit den Abfragen und Skripts hochladen, die in Cloud Storage übersetzt werden sollen. Sie können auch beliebige Metadatendateien oder YAML-Konfigurationsdateien in denselben Cloud Storage-Bucket hochladen, der die Quelldateien enthält. Weitere Informationen zum Erstellen von Buckets und zum Hochladen von Dateien in Cloud Storage erhalten Sie unter Buckets erstellen und Objekte aus einem Dateisystem hochladen.
Unterstützte SQL-Dialekte
Der Batch-SQL-Übersetzer ist Teil des BigQuery-Migrationsdienstes. Der Batch-SQL-Übersetzer kann die folgenden SQL-Dialekte in GoogleSQL ü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
- 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 Batch-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 |
Niedriger CO2-Wert | |
Belgien | europe-west1 |
Niedriger CO2-Wert | |
London | europe-west2 |
Niedriger CO2-Wert | |
Frankfurt | europe-west3 |
Niedriger CO2-Wert | |
Niederlande | europe-west4 |
Niedriger CO2-Wert | |
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 |
Niedriger CO2-Wert | |
Oregon | us-west1 |
Niedriger CO2-Wert | |
Los Angeles | us-west2 |
||
Salt Lake City | us-west3 |
Übersetzungsjob senden
Führen Sie die folgenden Schritte aus, um einen Übersetzungsjob zu starten, seinen Fortschritt anzuzeigen und die Ergebnisse anzuzeigen.
Console
Bei diesen Schritten wird davon ausgegangen, dass Sie bereits Quelldateien in einen Cloud Storage-Bucket hochgeladen haben.
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Klicken Sie im Navigationsbereich unter Migration auf SQL-Übersetzung.
Klicken Sie auf Übersetzung starten.
Füllen Sie das Dialogfeld für die Übersetzungskonfiguration aus.
- Geben Sie einen Namen für den Übersetzungsjob unter Anzeigename ein. Der Name kann Buchstaben, Ziffern und Unterstriche enthalten.
- 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. Der Übersetzungsjob funktioniert am besten, wenn Sie denselben Speicherort wie der Quelldatei-Bucket auswählen. - Wählen Sie unter Quelldialekt den SQL-Dialekt aus, den Sie übersetzen möchten.
- Wählen Sie als Zieldialekt BigQuery aus.
Klicken Sie auf Weiter.
Geben Sie unter Quellspeicherort den Pfad zum Cloud Storage-Ordner mit den zu übersetzenden Dateien an. Sie können den Pfad im Format
bucket_name/folder_name/
eingeben oder die Option Durchsuchen verwenden.Klicken Sie auf Weiter.
Geben Sie unter Zielspeicherort den Pfad zum Cloud Storage-Zielordner für die übersetzten Dateien an. Sie können den Pfad im Format
bucket_name/folder_name/
eingeben oder die Option Durchsuchen verwenden.Wenn Sie Übersetzungen ausführen, für die keine Standardobjektnamen oder keine Quell-zu-Ziel-Namenszuordnung angegeben sein müssen, fahren Sie mit Schritt 11 fort. Klicken Sie andernfalls auf Weiter.
Füllen Sie die optionalen Einstellungen aus, die Sie benötigen.
Optional. Geben Sie bei Standarddatenbank einen Standarddatenbanknamen ein, der mit den Quelldateien verwendet werden soll. Der Übersetzer verwendet diesen Standarddatenbanknamen, um die voll qualifizierten Namen der SQL-Objekte aufzulösen, bei denen der Datenbankname fehlt.
Optional. Geben Sie unter Schemasuchpfad ein dann zu suchendes Schema an, wenn der Übersetzer vollständig qualifizierte Namen von SQL-Objekten in den Quelldateien auflösen muss, bei denen der Schemaname fehlt. Klicken Sie auf Schemasuchpfad hinzufügen und fügen Sie einen Wert für jeden Schemanamen hinzu, auf den möglicherweise verwiesen wird, wenn die Quelldateien eine Reihe verschiedener Schemanamen verwenden.
Der Übersetzer durchsucht die von Ihnen bereitgestellten Metadatendateien, um Tabellen mit ihren Schemanamen zu validieren. Wenn eine bestimmte Option nicht aus den Metadaten ermittelt werden kann, wird der Name des ersten Schemas, den Sie eingeben, als Standard verwendet. Weitere Informationen zur Verwendung des Standardschemanamens finden Sie unter Standardschema.
Optional. Wenn Sie Namenszuordnungsregeln angeben möchten, um SQL-Objekte während der Übersetzung zwischen dem Quellsystem und BigQuery umzubenennen, können Sie entweder eine JSON-Datei mit dem Namenszuordnungspaar bereitstellen oder Sie können die Cloud Console verwenden, um die zuzuordnenden Werte anzugeben.
So verwenden Sie eine JSON-Datei:
- Auf JSON-Datei für Namenszuordnung klicken.
Suchen Sie im entsprechenden Format nach dem Speicherort einer Namenszuordnungsdatei, wählen Sie sie aus und klicken Sie auf Öffnen.
Die Datei muss kleiner als 5 MB sein.
So verwenden Sie die Google Cloud Console:
- Klicken Sie auf Namenszuordnungspaar hinzufügen.
- Fügen Sie die entsprechenden Teile des Quellobjektnamens in den Feldern Datenbank, Schema, Verknüpfung und Attribut in der Spalte Quelle ein.
- Fügen Sie die Teile des Zielobjektnamens in BigQuery in die Felder in der Spalte Ziel ein.
- Wählen Sie unter Typ den Objekttyp aus, der das Objekt beschreibt, das Sie zuordnen.
- Wiederholen Sie die Schritte 1 bis 4, bis Sie alle erforderlichen Namenszuordnungspaare angegeben haben. Beachten Sie, dass Sie bei der Verwendung der Cloud Console nur bis zu 25 Namenszuordnungspaare angeben können.
Klicken Sie auf Erstellen, um den Übersetzungsjob zu starten.
Nachdem der Übersetzungsjob erstellt wurde, können Sie den Status in der Liste der Übersetzungsjobs sehen.
Batch-Übersetzungsclient
Installieren Sie den Batchübersetzungsclient und die Google Cloud-Befehlszeile.
Öffnen Sie im Installationsverzeichnis des Batchübersetzungsclients mit einem Texteditor Ihrer Wahl die Datei
config.yaml
und ändern Sie die folgenden Einstellungen:project_number
: Geben Sie die Projektnummer des Projekts ein, das Sie für den Batchübersetzungsjob verwenden möchten. Sie finden sie im Bereich Projektinformationen auf der Begrüßungsseite der Google Cloud Console für das Projekt.gcs_bucket
: Geben Sie den Namen des Cloud Storage-Buckets ein, den der Batchübersetzungsclient zum Speichern von Dateien während der Verarbeitung des Übersetzungsjobs verwenden soll.input_directory
: Geben Sie den absoluten oder relativen Pfad zum Verzeichnis ein, das die Quelldateien und Metadatendateien enthält.output_directory
: Geben Sie den absoluten oder relativen Pfad zum Zielverzeichnis für die übersetzten Dateien ein.
Speichern Sie die Änderungen und schließen Sie die
config.yaml
-Datei.Platzieren Sie die Quell- und Metadatendateien im Eingabeverzeichnis.
Führen Sie den Batchübersetzungsclient mit dem folgenden Befehl aus:
bin/dwh-migration-client
Nachdem der Übersetzungsjob erstellt wurde, können Sie den Status in der Liste der Übersetzungsjobs in der Cloud Console sehen.
Optional. Sobald der Übersetzungsjob abgeschlossen ist, löschen Sie die Dateien, die der Job im angegebenen Cloud Storage-Bucket erstellt hat, um Speicherkosten zu vermeiden.
Übersetzungsausgabe ansehen
Nachdem Sie den Übersetzungsjob ausgeführt haben, können Sie Informationen zum Job in der Cloud Console ansehen. Wenn Sie die Google Cloud Console zum Ausführen des Jobs verwendet haben, können Sie die Jobergebnisse im angegebenen Cloud Storage-Ziel-Bucket sehen. Wenn Sie den Batchübersetzungsclient zum Ausführen des Jobs verwendet haben, können Sie die Jobergebnisse im von Ihnen angegebenen Ausgabeverzeichnis anzeigen. Der Batch-SQL-Übersetzer gibt die folgenden Dateien an das angegebene Ziel aus:
- Die übersetzten Dateien.
- Der Zusammenfassungsbericht für Übersetzungen im CSV-Format.
- Die verbrauchte Ausgabenamenzuordnung im JSON-Format.
Ausgabe der Google Cloud Console
So rufen Sie Details zu Übersetzungsjobs auf:
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Klicken Sie im Navigationsbereich unter Migration auf SQL-Übersetzung.
Suchen Sie in der Liste der Übersetzungsjobs nach dem Job, für den Sie die Übersetzungsdetails aufrufen möchten. Klicken Sie dann auf den Namen des Übersetzungsjobs.
Im Abschnitt Ergebnisse werden die gesamte Übersetzungsrate, die Anzahl der verarbeiteten Anweisungen und die Jobdauer angezeigt.
Wählen Sie den Tab Logzusammenfassung aus, um eine Übersicht über die Übersetzungsprobleme aufzurufen, einschließlich Problemkategorien, vorgeschlagene Aktionen und der Häufigkeit des jeweiligen Problems. Sie können auch eine Problemkategorie auswählen, um die mit dieser Problemkategorie verknüpften Logeinträge aufzurufen (Vorschau).
Wählen Sie den Tab Logeinträge aus, um weitere Informationen zu jedem Übersetzungsproblem aufzurufen, einschließlich der Problemkategorie, des spezifischen Problemeintrags und eines Links zu der Datei, in der das Problem aufgetreten ist. Sie können auf dem Tab Logeinträge ein Problem auswählen, um den Tab Code zu öffnen, der die Eingabe- und Ausgabedatei anzeigt, wenn zutreffend (Vorschau).
Wählen Sie den Tab Übersetzungskonfiguration aus, um Details zur Konfiguration des Übersetzungsjobs aufzurufen.
Zusammenfassender Bericht
Der Zusammenfassungsbericht ist eine CSV-Datei, die eine Tabelle aller Warn- und Fehlermeldungen enthält, die während des Übersetzungsjobs aufgetreten sind.
So rufen Sie die Zusammenfassungsdatei in der Google Cloud Console auf:
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Klicken Sie im Navigationsbereich unter Migration auf SQL-Übersetzung.
Suchen Sie in der Liste der Übersetzungsjobs nach dem gewünschten Job und klicken Sie in der Spalte Status auf Details anzeigen.
Klicken Sie im Abschnitt Übersetzungsbericht auf batch_translate_report.csv.
Klicken Sie auf der Seite Objektdetails auf den Wert in der Zeile Authentifizierte URL, um die Datei in Ihrem Browser anzuzeigen.
In der folgenden Tabelle werden die Spalten der Zusammenfassungsdatei beschrieben:
Spalte | Beschreibung |
---|---|
Zeitstempel | Der Zeitstempel, zu dem das Problem aufgetreten ist. |
FilePath | Der Pfad zur Quelldatei, mit der das Problem verknüpft ist. |
FileName | Der Name der Quelldatei, mit der das Problem verknüpft ist. |
ScriptLine | Die Zeilennummer, in der das Problem aufgetreten ist |
ScriptColumn | Die Spaltennummer, in der das Problem aufgetreten ist. |
TranspilerComponent | Die interne Komponente des Übersetzungsmoduls, in der die Warnung oder der Fehler aufgetreten ist. Diese Spalte ist möglicherweise leer. |
Umgebung | Die Übersetzungsdialektsumgebung, die der Warnung oder dem Fehler zugeordnet ist. Diese Spalte ist möglicherweise leer. |
ObjectName | Das SQL-Objekt in der Quelldatei, die der Warnung oder dem Fehler zugeordnet ist. Diese Spalte ist möglicherweise leer. |
Schweregrad | Der Schweregrad des Problems, entweder eine Warnung oder ein Fehler. |
Kategorie | Die Kategorie des Übersetzungsproblems. |
SourceType | Die Ursache des Problems. Der Wert in dieser Spalte kann entweder SQL sein, was auf ein Problem mit den SQL-Eingabedateien hinweist, oder METADATA , was auf ein Problem im Metadatenpaket hinweist. |
Meldung | Warnmeldung oder Fehlermeldung des Übersetzungsproblems |
ScriptContext | Das SQL-Snippet in der Quelldatei, die mit dem Problem verknüpft ist. |
Aktion | Wir empfehlen, das Problem zu beheben. |
Tab „Code“
Auf dem Tab „Code“ haben Sie die Möglichkeit, weitere Informationen zu den Eingabe- und Ausgabedateien für einen bestimmten Übersetzungsjob zu prüfen. Auf dem Tab „Code“ können Sie die in einem Übersetzungsjob verwendeten Dateien untersuchen, einen direkten Vergleich einer Eingabedatei und ihrer Übersetzung ausführen und dabei Ungenauigkeiten ermitteln sowie Logzusammenfassungen und -einträge für eine bestimmte Datei in einem Job aufrufen.
So greifen Sie auf den Tab „Code“ zu:
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Klicken Sie im Navigationsbereich unter Migration auf SQL-Übersetzung.
Suchen Sie in der Liste der Übersetzungsjobs nach dem gewünschten Job und klicken Sie dann in der Spalte Status auf Details anzeigen.
Wählen Sie den Tab Code aus.
Verbrauchte Ausgabenamen-Zuordnungsdatei
Diese JSON-Datei enthält die Regeln für die Zuordnung des Ausgabenamens, die vom Übersetzungsjob verwendet wurden. Die Regeln in dieser Datei können sich von den Regeln der Ausgabenamenzuordnung, die Sie für den Übersetzungsjob angegeben haben, unterscheiden, entweder aufgrund von Konflikten in den Namenszuordnungsregeln oder aufgrund von fehlenden Namenszuordnungsregeln für SQL-Objekte, die während der Übersetzung identifiziert wurden. Prüfen Sie diese Datei, um festzustellen, ob die Namenszuordnungsregeln korrigiert werden müssen. Erstellen Sie in diesem Fall neue Zuordnungsregeln für den Ausgabenamen, die alle von Ihnen erkannten Probleme beheben, und führen Sie einen neuen Übersetzungsjob aus.
Übersetzte Dateien
Für jede Quelldatei wird eine entsprechende Ausgabedatei im Zielpfad generiert. Die Ausgabedatei enthält die übersetzte Abfrage.
Fehler in Batch übersetzten SQL-Abfragen mit dem interaktiven SQL-Übersetzer beheben
Mit dem interaktiven BigQuery-SQL-Übersetzer können Sie eine SQL-Abfrage prüfen oder debuggen, indem Sie dieselben Metadaten oder Objektzuordnungsinformationen wie Ihre Quelldatenbank verwenden. Nachdem Sie einen Batchübersetzungsjob abgeschlossen haben, generiert BigQuery eine Übersetzungskonfigurations-ID, die Informationen zu den Metadaten des Jobs, zur Objektzuordnung oder zum Schemasuchpfad enthält, je nachdem, was für die Abfrage gilt. Sie verwenden die Konfigurations-ID für die Batchübersetzung mit dem interaktiven SQL-Übersetzer, um SQL-Abfragen mit der angegebenen Konfiguration auszuführen.
So starten Sie eine interaktive SQL-Übersetzung mithilfe einer Konfigurations-ID für die Batchübersetzung:
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Klicken Sie im Navigationsmenü unter Migration auf SQL-Übersetzung.
Suchen Sie in der Liste der Übersetzungsjobs nach dem gewünschten Job und klicken Sie dann auf > Interaktive Übersetzung öffnen.
Weitere Optionen
Der interaktive BigQuery-SQL-Übersetzer wird jetzt mit der entsprechenden Konfigurations-ID der Batchübersetzung geöffnet. Klicken Sie im interaktiven Übersetzer auf Mehr > Übersetzungseinstellungen, um die Übersetzungskonfigurations-ID für die interaktive Übersetzung aufzurufen.
Beschränkungen
Der Übersetzer kann keine benutzerdefinierten Funktionen (UDFs) aus anderen Sprachen als SQL übersetzen, da er sie nicht parsen kann, um ihre Eingabe- und Ausgabedatentypen zu bestimmen. Dies führt dazu, dass die Übersetzung von SQL-Anweisungen, die auf diese UDFs verweisen, ungenau ist. Damit Nicht-SQL-UDFs während der Übersetzung ordnungsgemäß referenziert werden, verwenden Sie gültige SQL-Anweisungen, um Platzhalter-UDFs mit denselben Signaturen zu erstellen.
Beispiel: Sie haben eine UDF in C, die die Summe zweier Ganzzahlen berechnet. Um sicherzustellen, dass SQL-Anweisungen, die auf diese UDF verweisen, korrekt übersetzt werden, erstellen Sie eine Platzhalter-SQL-UDF, die dieselbe Signatur wie die C-UDF hat, wie im folgenden Beispiel gezeigt:
CREATE FUNCTION Test.MySum (a INT, b INT)
RETURNS INT
LANGUAGE SQL
RETURN a + b;
Speichern Sie diese Platzhalter-UDF in einer Textdatei und fügen Sie diese Datei als Quelldatei für den Übersetzungsjob ein. Dadurch kann der Übersetzer die UDF-Definition lernen und die erwarteten Eingabe- und Ausgabedatentypen identifizieren.
Kontingent und Limits
- Dafür gelten die Kontingente der BigQuery Migration API.
- Jedes Projekt kann höchstens 10 aktive Übersetzungsaufgaben haben.
- Die Gesamtzahl der Quell- und Metadatendateien ist zwar nicht begrenzt, es empfiehlt sich jedoch, die Anzahl der Dateien unter 1.000 zu halten, um eine bessere Leistung zu erzielen.
Übersetzungsfehler beheben
RelationNotFound
- oder AttributeNotFound
-Übersetzungsprobleme
Übersetzung funktioniert am besten mit Metadaten-DDLs. Wenn keine SQL-Objektdefinitionen gefunden werden können, löst das Übersetzungsmodul die Probleme RelationNotFound
oder AttributeNotFound
aus. Wir empfehlen die Verwendung des Metadaten-Extrahierers zum Generieren von Metadatenpaketen, um dafür zu sorgen, dass alle Objektdefinitionen vorhanden sind. Das Hinzufügen von Metadaten ist der erste empfohlene Schritt, um die meisten Übersetzungsfehler zu beheben, da oft viele andere Fehler behoben werden können, die indirekt durch ein Fehlen von Metadaten verursacht werden.
Weitere Informationen finden Sie unter Metadaten für Übersetzung und Bewertung generieren.
Preise
Für die Verwendung des Batch-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
- Datenpipelines
- Interaktive SQL-Übersetzung
- Datensicherheit und Governance
- Datenvalidierungstool