Konvertieren von SQL mit dem Lakebridge Agentic Converter

Important

Dieses Feature befindet sich in der Betaversion. Um es zu verwenden, muss ein Arbeitsbereichsadministrator lakebridge Agentic Converter über die Vorschauseite aktivieren. Siehe Manage Azure Databricks Previews.

Der Lakebridge Agentic Converter verwendet Genie Code, um vorhandene SQL aus Dialekten wie T-SQL, Snowflake, Redshift, Oracle, BigQuery und Teradata in ANSI SQL zu konvertieren, die auf Azure Databricks ausgeführt wird. Sie organisieren Ihre Arbeit in einem Migrationsprojekt, bei dem der Konverter jedes Quellskript analysiert, die konvertierte Ausgabe überprüft und Fehler vor dem Schreiben der Ergebnisse in einen Arbeitsbereichsordner iterativ korrigiert.

Lakebridge ist das databricks AI-basierte Migrationstool zum Verschieben von Workloads von vorhandenen Data Warehouses und ETL-Tools in Azure Databricks. Der Lakebridge Agentic Converter ist seine Codekonvertierungskomponente.

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.

Diagramm des Konvertierungsworkflows: Quelldateien werden einem Migrationsprojekt hinzugefügt, Genie Code-Subagenten konvertieren sie, und überprüfte ANSI SQL wird in einen Arbeitsbereichsordner geschrieben.

Wenn Sie eine Konvertierung ausführen, ruft Genie Code die Lakebridge-Fähigkeit auf und stellt Subagenten bereit, die Dateien gleichzeitig konvertieren. Jeder Subagent analysiert den Quelldialekt, generiert die ANSI SQL-Entsprechung, überprüft das Ergebnis und überprüft Abschnitte, die fehlschlagen. 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.

Anforderungen

  • Ein Arbeitsbereich, der für den Lakebridge Agentic Converter Beta aktiviert ist. Ein Arbeitsbereichsadministrator aktiviert das Feature über die Vorschauseite . Siehe Manage Azure Databricks Previews.
  • 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.

Unterstützte Quellen und Einschränkungen

Der Konverter unterstützt die folgenden Quelldialekte:

  • T-SQL
  • Snowflake SQL
  • Redshift SQL
  • Orakel
  • BigQuery
  • Teradata

Der Konverter zielt auf ANSI SQL ab. Die folgenden Grenzwerte gelten für jede Konvertierung:

  • Ein Batch kann maximal 300 Dateien enthalten.
  • Ein Skript kann maximal 1.000 Zeilen enthalten.
  • Teradata-BTEQ-Skripts werden noch nicht unterstützt.

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:

  1. Klicken Sie auf Neues Symbol>Migrationsprojekt.
  2. Geben Sie einen Namen für das Projekt ein.
  3. Verwenden Sie die Dropdownselektoren, um einen Quelldialekt und ein Zielframework auszuwählen.
  4. Geben Sie den Dateipfad zum Zielordner ein. Klicken Sie auf "Durchsuchen ", um ein Ziel aus einer Liste der verfügbaren Arbeitsbereichsordner auszuwählen.
  5. (Optional) Geben Sie den Pfad zu einer Lineage-Datei ein, die die Linie des Projekts beschreibt. Klicken Sie auf "Durchsuchen ", um die Datei aus einer Liste der Dateien in Ihrem Arbeitsbereich auszuwählen.
  6. Klicke auf Erstellen.

Dialogfeld

Schritt 3: Hinzufügen von Dateien zu Ihrem Projekt

Im neuen Projekt:

  1. Klicken Sie auf "Dateien>hinzufügen", und fügen Sie Dateien hinzu.
  2. 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.

Migrationsprojekt-Canvas mit hinzugefügten Quelldateien mit dateityp, Zeilenanzahl und Konvertierungsstatus.

Schritt 4: Überprüfen der Codekomplexität und -lineage (optional)

Wenn Sie den Lakebridge Analyzer ausgeführt haben, laden Sie die JSON-Ausgabe in das Projekt hoch, um die Codekomplexität und -lineage zu überprüfen. Klicken Sie auf eine Quelldatei, um eine Komplexitätsbewertung zu öffnen, und klicken Sie auf "Lineage ", um ein Abhängigkeitsdiagramm zu öffnen, das zusammenhängende Dateien und Tabellen anzeigt, die Sie zusammen migrieren müssen. Anweisungen zum Ausführen des Analyzers finden Sie im Lakebridge Analyzer-Handbuch.

Schritt 5: Ausführen der Konvertierung

Wählen Sie die zu konvertierenden Dateien aus, und klicken Sie auf "Ausführen". Genie Code öffnet eine Unterhaltung, ruft die Lakebridge-Fähigkeit auf und stellt Subagenten bereit, um die Dateien gleichzeitig zu konvertieren. Jede konvertierte Datei wird als verknüpfte Datei im Projekt angezeigt. Der Konverter markiert jede Datei mit einem Status:

  • Grün: Erfolgreich konvertiert
  • Gelb: Erfordert Überprüfung
  • Rot: Konvertierung fehlgeschlagen
  • Grau: In Bearbeitung

Schritt 6: Überprüfen der Konvertierungsergebnisse

Klicken Sie auf eine konvertierte Datei, um im SQL-Editor einen Seiten-an-Seiten-Vergleich zu öffnen, bei dem der Quellcode neben dem vorgeschlagenen Databricks SQL angezeigt wird. Akzeptieren Sie alle vorgeschlagenen Änderungen, oder überprüfen Sie sie, und akzeptieren Sie einzelne Bearbeitungen. 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 die konvertierte SQL in einem Notizbuch oder im SQL-Editor aus, um zu bestätigen, dass sie auf Azure Databricks ausgeführt wird.

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

  1. Klicken Sie im Bereich "Genie Code" auf das Zahnradsymbol.Einstellungen, und klicken Sie dann auf Ordner "Fähigkeiten öffnen".

  2. Erstellen Sie einen Ordner für Ihre Fähigkeiten unter dem Arbeitsbereichs-Kompetenzpfad. Workspace/.assistant/skills/ Beispiel: Workspace/.assistant/skills/sql-migration/

  3. Erstellen Sie im Skill-Ordner eine SKILL.md-Datei mit dem erforderlichen 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:

Tipp

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:

Tipp

Show me my migration skills

So entfernen Sie eine Fähigkeit:

Tipp

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 QUALIFY oder Redshift LISTAGG ein, 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.

Weitere Ressourcen