Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Genie Migrate verwendet Genie Code, um bestehendes SQL aus Dialekten wie T-SQL, Snowflake, Redshift, Oracle, BigQuery und Teradata in Code umzuwandeln, der auf Azure Databricks läuft. Sie organisieren Ihre Arbeit in einem Migrationsprojekt und wählen ein Zielframework für die Ausgabe: DBSQL zur Erstellung von Databricks-SQL-Abfragen oder Notebooks (Beta) zur Erstellung von Databricks-Notizbüchern, die die DataFrame-API verwenden. Genie Migrate analysiert jedes Quellskript, validiert die konvertierte Ausgabe und behebt iterativ Fehler, bevor die Ergebnisse in einen Workspace-Ordner geschrieben werden.
Genie Migrate ist Teil der Databricks-Tools zur Migration von Workloads von bestehenden Data Warehouses und ETL-Tools zu Azure Databricks. Sie konvertiert die SQL-Quelle, während Sie die Arbeit in einem Migrationsprojekt organisieren und nachverfolgen.
So funktioniert es
Sie beginnen eine Konvertierung, indem Sie ein Migrationsprojekt in Ihrem Arbeitsbereich erstellen. Das Projekt verfolgt den Status jeder Datei und gibt Ihnen einen einzigen Ort zum Verwalten der Migration.
Wenn du eine Konvertierung ausführst, setzt Genie Code Subagenten ein, die Dateien gleichzeitig konvertieren. Jeder Subagent analysiert den Quelldialekt und generiert den entsprechenden Code für das Ziel-Framework des Projekts (Databricks SQL oder ein Databricks-Notizbuch). Anschließend überprüft er den konvertierten Code:
- Syntax: Prüft, ob der konvertierte Code fehlerfrei auf Azure Databricks läuft.
-
Semantische Bedeutung: Prüft, ob der konvertierte Code die Geschäftslogik des Quellcodes beibehält, zum Beispiel die gleichen Joins und
WHEREKlauseln.
Wenn eine Prüfung fehlschlägt, überarbeitet der Unteragent den Code und überprüft ihn erneut. Genie Code verwendet auch deine benutzerdefinierten Skills, wenn er Dateien konvertiert. Siehe Eine benutzerdefinierte Fertigkeit (optional) erstellen. Konvertierte Dateien werden direkt in den Arbeitsbereichsordner geschrieben, den Sie für das Projekt angeben.
Sie können auch eine einzelne Datei oder einen einzelnen Ordner ohne ein Projekt konvertieren, indem Sie den Befehl /migrate in einer Genie Code-Konversation verwenden.
Requirements
- Ihre vorhandenen SQL-Dateien müssen in Ihrem Arbeitsbereich verfügbar sein, entweder als Arbeitsbereichsdateien hochgeladen oder im Editor geöffnet.
- Ihr Arbeitsbereich muss die Anforderungen des Genie-Codes erfüllen. Siehe Genie Code.
- Um Notebooks Target-Framework oder Projektanalyse und -herkunft zu verwenden, die sich in Beta befinden, muss ein Workspace-Administrator Migration Projects Experimental Funktionen auf der Seite Vorschauen aktivieren. Siehe Manage Azure Databricks Previews.
Unterstützte Quellen
Der Konverter unterstützt die folgenden Quelldialekte:
- T-SQL
- Snowflake SQL
- Redshift-SQL
- Oracle
- BigQuery
- Teradata
Wenn Sie ein Migrationsprojekt erstellen, wählen Sie eines der folgenden Zielframeworks:
- DBSQL: ANSI-konforme Databricks SQL-Abfragen.
-
Notebooks (Beta): Databricks-Notebooks, die die DataFrame-API verwenden, mit
spark.sqlfür Logik, die in SQL klarer ist.
Vorhandenen SQL-Code konvertieren
Die folgenden Schritte beschreiben, wie Sie vorhandene SQL in einem Migrationsprojekt konvertieren.
Schritt 1: Hochladen von Quelldateien
Laden Sie Ihre vorhandenen SQL-Dateien (.sql) mithilfe des Arbeitsbereichsdateibrowsers hoch, oder verwenden Sie die Databricks CLI , um ein Verzeichnis von Skripts in massenzuladen.
Schritt 2: Erstellen eines Migrationsprojekts
Erstellen Sie ein Migrationsprojekt aus Ihrem Arbeitsbereich:
- Klicken Sie auf
>Migrationsprojekt. - Geben Sie einen Namen für das Projekt ein.
- Verwenden Sie die Dropdownselektoren, um einen Quelldialekt und ein Zielframework auszuwählen. Für das Target-Framework wählen Sie DBSQL zur Erstellung von Databricks-SQL-Abfragen oder Notebooks (Beta) zur Erstellung von Databricks-Notizbüchern.
- Geben Sie den Dateipfad zum Zielordner ein. Klicken Sie auf "Durchsuchen ", um ein Ziel aus einer Liste der verfügbaren Arbeitsbereichsordner auszuwählen.
- Klicke auf Erstellen.
Schritt 3: Hinzufügen von Dateien zu Ihrem Projekt
Im neuen Projekt:
- Klicken Sie auf "Dateien>hinzufügen", und fügen Sie Dateien hinzu.
- Wählen Sie den Quellordner oder eine Datei aus Ihrem Arbeitsbereich aus.
Das Projekt listet jede Datei mit dem Dateityp, der Zeilenanzahl und dem Konvertierungsstatus auf.
Schritt 4: Überprüfen der Codekomplexität und -lineage (optional)
Von Bedeutung
Dieses Feature befindet sich in der Betaversion. Um sie zu verwenden, muss ein Arbeitsbereichsadmin in Migration der experimentellen Funktionen der Projekte auf der Seite Vorschauversionen aktivieren. Siehe Manage Azure Databricks Previews.
Analysieren Sie das Projekt, um die Codekomplexität und die Abhängigkeiten zwischen Dateien zu überprüfen, bevor Sie die Konvertierung durchführen.
- Im Projekt klicken Sie auf Alle analysieren. Wenn das Projekt keine Herkunft hat, ist Alle analysieren die Standardaktion. Ansonsten wählen Sie im Dropdown-Menü der Schaltfläche "Alle analysieren ". Analyse umfasst jede Datei im Projekt, selbst wenn du Dateien auswählst.
- Warte, bis die Analyse fertig ist. Um eine laufende Analyse abzubrechen, klicken Sie auf Stopp. Wenn die Analyse abgeschlossen ist, ändert sich der Button zu Alle umwandeln.
- Klicken Sie auf eine Quelldatei, um deren Komplexitätsbewertung zu öffnen, und klicken Sie auf Lineage, um einen Abhängigkeitsgraphen zu öffnen, der voneinander abhängige Dateien und Tabellen zeigt, die Sie gemeinsam migrieren müssen.
Schritt 5: Ausführen der Konvertierung
Um bestimmte Dateien zu konvertieren, wählen Sie sie aus und klicken Sie auf „Auswahl konvertieren“. Um alle Dateien im Projekt zu konvertieren, hebe die Auswahl auf und klicke auf Alle konvertieren. Genie Code öffnet eine Unterhaltung, ruft die Migrationskompetenz auf und stellt Subagenten bereit, um die Dateien gleichzeitig zu konvertieren. Jede konvertierte Datei wird als verknüpfte Datei im Projekt angezeigt. Jede Datei zeigt einen der folgenden Status:
- Grau: Die Datei wurde noch nicht konvertiert (nicht gestartet, in Warteschlange gestellt oder gestoppt). Ein Spinner wird angezeigt, während die Datei konvertiert wird.
- Ungefüllt grün: Die Datei wurde problemlos konvertiert (konvertiert).
- Grün gefüllt: Sie haben die konvertierte Datei geprüft und akzeptiert (Geprüft).
- Gelb: Die Datei wurde konvertiert, aber sie enthält zu prüfende Punkte, die du überprüfen musst.
- Rot: Die Konvertierung ist fehlgeschlagen (Fehler).
Jeder Durchlauf konvertiert bis zu 500 Dateien. Wenn Sie mehr als 500 Dateien in die Warteschlange stellen, laufen die ersten 500 nicht konvertierten Dateien im aktuellen Batch. Nachdem die Charge fertig ist, starten Sie erneut mit der Konvertierung, um die nächsten 500 zu konvertieren.
Schritt 6: Überprüfen der Konvertierungsergebnisse
Für DBSQL-Projekte klickt man auf eine konvertierte Datei, um im SQL-Editor ein Seiten-an-Seite-Diff zu öffnen, wobei der Quellcode neben dem vorgeschlagenen Databricks-SQL liegt. Akzeptieren Sie alle vorgeschlagenen Änderungen, oder überprüfen Sie sie, und akzeptieren Sie einzelne Bearbeitungen. Für Notebooks-Projekte klickt man auf eine konvertierte Datei, um das generierte Databricks-Notizbuch zu öffnen. Bearbeiten Sie bei Skripts, die nicht konvertiert werden können, den Code im Editor, oder bitten Sie Genie Code, bestimmte Abschnitte erneut zu überprüfen oder erneut zu versuchen. Nachdem Sie zufrieden sind, führen Sie das konvertierte SQL oder Notebook aus, um sicherzustellen, dass es auf Azure Databricks läuft. Wenn derselbe Fehler in mehreren Dateien auftaucht, erfassen Sie die Korrektur in einer benutzerdefinierten Fähigkeit und verarbeiten Sie diese Dateien erneut. Siehe Eine benutzerdefinierte Fertigkeit (optional) erstellen.
Erstellen einer benutzerdefinierten Fähigkeit (optional)
Mit benutzerdefinierten Fähigkeiten können Sie Geschäftsregeln codieren, die Genie Code während jeder Konvertierung automatisch anwendet. Verwenden Sie sie, um proprietäre Datentypen zu verarbeiten, bevorzugte Zielmuster zu erzwingen oder Korrekturen zu erfassen, die Sie wiederholt vornehmen. Eine Migrationskompetenz ist eine Genie Code-Fähigkeit, sodass Sie sie auf die gleiche Weise erstellen und verwalten können wie jede andere Fähigkeit. Weitere Details finden Sie unter "Erweitern von Genie Code mit Agentenkenntnissen".
Sie müssen nicht alle Ihre Fähigkeiten vor Ihrer ersten Konvertierung definieren. Die meisten Regeln, die eine Fähigkeit erfassen sollte, werden erst klar, nachdem du die ersten Ergebnisse überprüft hast. Ein typischer Arbeitsablauf ist:
- Konvertiere einen repräsentativen Satz von Dateien.
- Überprüfen Sie die Dateien mit Maßnahmenpunkten oder Fehlern und achten Sie auf Fehler, die sich über Dateien hinweg wiederholen, wie zum Beispiel denselben nicht unterstützten Datentyp, die Funktion oder das gleiche Namensmuster.
- Erstelle einen Skill, der die Korrektur für jeden wiederkehrenden Fehler erfasst.
- Wählen Sie nur die betroffenen Dateien aus und klicken Sie auf Ausgewählt konvertieren. Genie Code wendet die neue Fähigkeit auf diese Dateien an.
Wiederhole diesen Zyklus, während du mehr deines Codes konvertierst. Genie Code wendet jede Regel auf spätere Konvertierungen im Arbeitsbereich an, sodass eine Korrektur andere Dateien mit demselben Muster abdeckt.
Sie können einen Skill in den Genie Code-Einstellungen oder in einer Genie Code-Konversation erstellen. Verwenden Sie den Einstellungspfad für komplexe Fähigkeiten, die detaillierte Anweisungen, Beispiele oder unterstützende Dateien enthalten. Verwenden Sie den Chat-Workflow für einfache Skills mit nur einer Regel.
Genie Code-Einstellungen
Erstellen Sie den Skill als Datei, damit Sie detaillierte Anweisungen verfassen und ihn in einem Git-Ordner versionieren können:
Klicken Sie im Bereich "Genie Code" auf
Einstellungen, und klicken Sie dann auf
Ordner "Fähigkeiten öffnen".
Erstellen Sie einen Ordner für Ihre Fähigkeiten unter dem Arbeitsbereichs-Kompetenzpfad.
Workspace/.assistant/skills/Beispiel:Workspace/.assistant/skills/sql-migration/Erstellen Sie im Skill-Ordner eine
SKILL.md-Datei mit dem benötigten Frontmatter und Ihren Konvertierungsregeln. Beispiel:--- name: sql-migration description: Conversion rules to apply when migrating legacy SQL to ANSI SQL. --- Always convert the custom type MYDATE to TIMESTAMP_NTZ.
Genie Code nimmt die Fähigkeit auf, wenn Sie das nächste Mal eine Konvertierung ausführen.
Genie Code-Chat
Beschreiben Sie die Konvertierungsregel, die Sie codieren möchten, und bitten Sie Dann Genie Code, sie zu speichern:
Tip
Always convert our custom type MYDATE to TIMESTAMP_NTZ. Save this as a custom migration skill.
Genie Code erstellt und registriert die Fähigkeit und wendet sie auf zukünftige Konvertierungen im Arbeitsbereich an.
Aktive Skills anzeigen:
Tip
Show me my migration skills
So entfernen Sie eine Fähigkeit:
Tip
Delete the migration skill for [description]
Arbeitsbereichskenntnisse werden auf Arbeitsbereichsebene gespeichert und für alle Benutzer im Arbeitsbereich freigegeben.
Tipps zum Testen
Im Rahmen seines agentischen Regelkreises analysiert der Konverter jedes Quellskript, überprüft, ob die konvertierte Ausgabe syntaktisch gültig und semantisch dem Quellskript entspricht, und korrigiert iterativ Abschnitte, die die Prüfungen nicht bestehen, bevor er die Ergebnisse ausgibt. Die folgenden Tipps helfen Ihnen, die Ausgabe zu überprüfen und mehr Vertrauen in sie zu gewinnen:
- Batchkonvertierung: Konvertieren Sie einen kleinen Batch von zwei bis fünf Dateien in einer Sitzung, um sicherzustellen, dass die Konvertierung mehrerer Dateien am Ende funktioniert.
- Syntaxüberprüfung: Führen Sie nach der Konvertierung die Ausgabe in einem Databricks SQL-Editor oder -Notizbuch aus, um zu bestätigen, dass sie ohne Fehler ausgeführt wird.
-
Grenzfälle: Fügen Sie ein Skript mit dialektspezifischen Konstruktionen wie T-SQL-Fensterfunktionen, Snowflake
QUALIFYoder RedshiftLISTAGGein, um zu sehen, wie der Konverter nicht-triviale Muster behandelt. - Semantische Korrektheit: Führen Sie die ursprünglichen und konvertierten Abfragen mit entsprechenden Testdaten aus, und vergleichen Sie die Ergebnisse. Vergewissern Sie sich, dass die Ausgabe semantisch korrekt ist, nicht nur syntaktisch gültig.