Convertire SQL con il convertitore di codice agentico

Importante

Questa funzionalità è in versione beta. Per usarlo, un amministratore dello spazio di lavoro deve abilitare il convertitore di codice agentico dalla pagina Anteprime. Vedere Gestire le anteprime di Azure Databricks.

Il convertitore di codice agentic usa Genie Code per convertire SQL esistente da dialetti come T-SQL, Snowflake, Redshift, Oracle, BigQuery e Teradata in ANSI SQL in esecuzione in Azure Databricks. È possibile organizzare il lavoro in un progetto di migrazione, in cui il convertitore analizza ogni script di origine, convalida l'output convertito e corregge in modo iterativo gli errori prima di scrivere i risultati in una cartella dell'area di lavoro.

Il convertitore di codice agentic fa parte degli strumenti di Databricks per la migrazione di carichi di lavoro da data warehouse esistenti e strumenti ETL a Azure Databricks. Converte il codice SQL di origine durante l'organizzazione e il rilevamento del lavoro in un progetto di migrazione.

Come funziona

Per avviare una conversione, creare un progetto di migrazione nell'area di lavoro. Il progetto tiene traccia dello stato di ogni file e offre un'unica posizione per gestire la migrazione.

Diagramma del flusso di lavoro di conversione: i file di origine vengono aggiunti a un progetto di migrazione, i subagenti genie Code li convertono e ansi SQL convalidati vengono scritti in una cartella dell'area di lavoro.

Quando si esegue una conversione, Genie Code richiama la competenza di migrazione e distribuisce i subagenti che convertono i file contemporaneamente. Ogni subagente analizza il dialetto di origine, genera l'equivalente SQL ANSI, convalida il risultato e ritenta le sezioni che hanno esito negativo. I file convertiti vengono scritti direttamente nella cartella dell'area di lavoro specificata per il progetto.

È anche possibile convertire un singolo file o una cartella senza un progetto usando il /migrate comando in una conversazione Genie Code.

Requirements

  • Area di lavoro abilitata per il convertitore di codice agentic Beta. Un amministratore dell'area di lavoro abilita la funzionalità dalla pagina Anteprime . Vedere Gestire le anteprime di Azure Databricks.
  • I file SQL esistenti devono essere accessibili nell'area di lavoro, caricati come file dell'area di lavoro o aperti nell'editor.
  • L'area di lavoro deve soddisfare i requisiti del codice Genie. Vedere Codice Genie.

Origini e limitazioni supportate

Il convertitore supporta i dialetti di origine seguenti:

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

Il convertitore ha come destinazione ANSI SQL. I limiti seguenti si applicano a ogni conversione:

  • Un batch può contenere un massimo di 300 file.
  • Uno script può contenere un massimo di 1.000 righe.
  • Gli script BTEQ di Teradata non sono ancora supportati.

Convertire il codice SQL esistente

I passaggi seguenti descrivono come convertire SQL esistente in un progetto di migrazione.

Passaggio 1: Caricare i file di origine

Caricare i file SQL esistenti (.sql) usando il browser dei file dell'area di lavoro oppure usare l'interfaccia della riga di comando di Databricks per caricare in blocco una directory di script.

Passaggio 2: Creare un progetto di migrazione

Creare un progetto di migrazione dall'area di lavoro:

  1. Fare clic su Nuova icona>Progetto di migrazione.
  2. Immettere un nome per il progetto.
  3. Usare i selettori a discesa per scegliere un dialetto di origine e un framework di destinazione.
  4. Immettere il percorso del file nella cartella Destinazione di destinazione. Fare clic su Sfoglia per scegliere una destinazione da un elenco di cartelle dell'area di lavoro disponibili.
  5. (Facoltativo) Immettere il percorso di un file di derivazione che descrive la derivazione del progetto. Fare clic su Sfoglia per scegliere il file da un elenco di file nell'area di lavoro.
  6. Clicca su Crea.

Finestra di dialogo Nuovo progetto di migrazione che mostra il nome del progetto, il dialetto di origine, il framework di destinazione e i campi della cartella di destinazione.

Passaggio 3: Aggiungere file al progetto

Nel nuovo progetto:

  1. Fare clic su Aggiungi file>+ Aggiungi file.
  2. Selezionare la cartella di origine o un file dall'area di lavoro.

Il progetto elenca ogni file con il tipo di file, il numero di righe e lo stato di conversione.

Area di disegno del progetto di migrazione che mostra i file di origine aggiunti con il tipo di file, il numero di righe e lo stato di conversione.

Passaggio 4: Esaminare la complessità e la derivazione del codice (facoltativo)

Se hai eseguito Lakebridge Analyzer, carica il relativo output JSON nel progetto per esaminare la complessità del codice e la tracciabilità. Fare clic su un file di origine per aprire una valutazione della complessità e fare clic su Derivazione per aprire un grafico delle dipendenze che mostra i file e le tabelle interdipendenti di cui è necessario eseguire la migrazione insieme. Per istruzioni sull'esecuzione dell'analizzatore, vedere la guida di Lakebridge Analyzer.

Passaggio 5: Eseguire la conversione

Selezionare i file da convertire e fare clic su Esegui. Genie Code apre una conversazione, richiama la competenza di migrazione e distribuisce i subagenti per convertire i file contemporaneamente. Ogni file convertito viene visualizzato come file collegato nel progetto. Il convertitore contrassegna ogni file con uno stato:

  • Verde: convertito correttamente
  • Giallo: Revisione delle esigenze
  • Rosso: conversione non riuscita
  • Grigio: in corso

Passaggio 6: Esaminare i risultati della conversione

Fare clic su un file convertito per aprire un confronto affiancato nell'editor SQL, con il codice sorgente accanto al codice Databricks SQL proposto. Accettare tutte le modifiche suggerite o rivedere e accettare singole modifiche. Per gli script che non vengono convertiti, modifica il codice nell'editor oppure chiedi a Genie Code di convalidare nuovamente o riprovare sezioni specifiche. Al termine dell'operazione, eseguire il codice SQL convertito in un notebook o nell'editor SQL per verificare che venga eseguito in Azure Databricks.

Creare una competenza personalizzata (facoltativa)

Le competenze personalizzate consentono di codificare le regole business che Genie Code si applicano automaticamente durante ogni conversione. Usarli per gestire i tipi di dati proprietari, applicare modelli di destinazione preferiti o acquisire correzioni apportate ripetutamente. Una competenza di migrazione è una competenza Genie Code, quindi è possibile crearla e gestirla allo stesso modo di qualsiasi altra competenza. Per ulteriori dettagli, consulta Estendere Genie Code con le funzionalità dell'agente.

È possibile creare un'abilità dalle impostazioni di Genie Code o da una conversazione di Genie Code. Usare il percorso delle impostazioni per competenze complesse che includono istruzioni dettagliate, esempi o file di supporto. Usare il percorso della chat per competenze rapide e a regola singola.

Impostazioni del codice Genie

Crea lo skill come file, in modo da poter scrivere istruzioni dettagliate e gestirne il versionamento in una cartella Git:

  1. Nel pannello Genie Code fare clic sull'icona a forma di ingranaggio.Impostazioni, quindi fare clic su Freccia nell'icona.Aprire la cartella skills.

  2. Crea una cartella per la tua skill nel percorso skills dell'area di lavoro, Workspace/.assistant/skills/. Ad esempio: Workspace/.assistant/skills/sql-migration/.

  3. Nella cartella skill creare un SKILL.md file con il frontmatter richiesto e le regole di conversione. Per esempio:

    ---
    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 rileva la skill la prossima volta che esegui una conversione.

Chat di Genie Code

Descrivere la regola di conversione che si vuole codificare, quindi chiedere a Genie Code di salvarla:

Tip

Always convert our custom type MYDATE to TIMESTAMP_NTZ. Save this as a custom migration skill.

Genie Code crea e registra la competenza e la applica alle conversioni future nell'area di lavoro.

Per visualizzare le competenze attive:

Tip

Show me my migration skills

Per rimuovere un'abilità:

Tip

Delete the migration skill for [description]

Le competenze dell'area di lavoro vengono archiviate a livello di area di lavoro e condivise tra tutti gli utenti dell'area di lavoro.

Suggerimenti per il test

Nell'ambito del ciclo agentico, il convertitore analizza ogni script di origine, verifica che l'output convertito sia sintatticamente valido e semanticamente equivalente all'origine e corregge in modo iterativo le sezioni che hanno esito negativo prima di scrivere i risultati. I suggerimenti seguenti consentono di esaminare e acquisire fiducia nell'output:

  • Conversione in batch: converti un piccolo batch di due-cinque file in un’unica sessione per verificare che la conversione di più file funzioni correttamente dall’inizio alla fine.
  • Convalida della sintassi: dopo la conversione, eseguire l'output in un editor o un notebook SQL di Databricks per verificare che venga eseguito senza errori.
  • Casi perimetrali: includere uno script con costrutti specifici del dialetto, ad esempio funzioni finestra T-SQL, Snowflake QUALIFYo Redshift LISTAGG, per vedere come il convertitore gestisce modelli non semplici.
  • Correttezza semantica: eseguire le query originali e convertite sui dati di test equivalenti e confrontare i risultati. Verificare che l'output sia semanticamente corretto, non solo sintatticamente valido.

Risorse aggiuntive