Pular para o conteúdo principal

Converta SQL com o conversor de código agêntico

info

Beta

Este recurso está em Beta. Para usá-lo, um administrador do workspace deve ativar o conversor de código agentic na página Pré-visualizações . Consulte Gerenciar prévias do Databricks.

O conversor de código agêntico usa o Genie Code para converter SQL existente de dialetos como T-SQL, Snowflake, Redshift, Oracle, BigQuery e Teradata para ANSI SQL que é executado no Databricks. O trabalho é organizado em um projeto de migração, onde o conversor analisa cada script de origem, valida a saída convertida e corrige erros iterativamente antes de escrever os resultados em uma pasta de workspace.

O conversor de código agêntico faz parte das ferramentas da Databricks para migrar cargas de trabalho de data warehouses e ferramentas de ETL existentes para a Databricks. Ele converte seu SQL de origem enquanto você organiza e rastreia o trabalho em um projeto de migração.

Como funciona

Inicia-se uma conversão criando um projeto de migração em seu Workspace. O projeto rastreia o estado de cada arquivo e oferece um único local para gerenciar a migração.

Diagrama do fluxo de trabalho de conversão: arquivos de origem são adicionados a um projeto de migração, subagentes do Genie Code os convertem, e o SQL ANSI validado é gravado em uma pasta do workspace.

Quando você executa uma conversão, o Genie Code invoca a habilidade de migração e implanta subagentes que convertem arquivos simultaneamente. Cada subagente analisa o dialeto de origem, gera o equivalente SQL ANSI, valida o resultado, e tenta novamente as seções que falham. Arquivos convertidos são gravados diretamente na pasta do workspace que você especifica para o projeto.

Você também pode converter um único arquivo ou pasta sem um projeto usando o comando /migrate em uma conversa do Genie Code.

Requisitos

  • Um Workspace habilitado para o Beta do conversor de código agêntico. Um administrador do Workspace habilita o recurso na página Pré-visualizações . Consulte Gerenciar prévias do Databricks.
  • Seus arquivos SQL existentes devem estar acessíveis em seu Workspace, seja upload como arquivos de Workspace ou abertos no editor.
  • Seu workspace deve atender aos requisitos do Genie Code. See Genie Code.

Fontes compatíveis e limitações

O conversor é compatível com os seguintes dialetos de origem:

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

O conversor visa o ANSI SQL. Os seguintes limites se aplicam a cada conversão:

  • Um lote pode conter um máximo de 300 arquivos.
  • Um script pode conter no máximo 1.000 linhas.
  • Os scripts BTEQ do Teradata ainda não são suportados.

Converter código SQL existente

Os passos a seguir descrevem como converter SQL existente em um projeto de migração.

Passo 1: Fazer upload de arquivos de origem

Faça upload dos seus arquivos SQL existentes (.sql) usando o navegador de arquivos do Workspace, ou use a CLI do Databricks para fazer upload em massa de um diretório de scripts.

Passo 2: Criar um projeto de migração

Crie um projeto de migração a partir do seu Workspace:

  1. Clique em Novo ícone > Projeto de migração .
  2. Insira um Nome para o projeto.
  3. Use os seletores suspensos para escolher um Dialeto de origem e uma Estrutura de destino .
  4. Insira o caminho do arquivo para a pasta de destino . Clique em Procurar para escolher um destino em uma lista de pastas de workspace disponíveis.
  5. (Opcional) Insira o caminho para um arquivo de linhagem que descreve a linhagem do projeto. Clique em Navegar para escolher o arquivo em uma lista de arquivos em seu workspace.
  6. Clique em Criar .

Caixa de diálogo de novo projeto de migração mostrando os campos de nome do projeto, dialeto de origem, framework de destino e pasta de destino.

Etapa 3: Adicionar arquivos ao seu projeto

No novo projeto:

  1. Clique em Adicionar arquivos > + Adicionar arquivos .
  2. Selecione a pasta de origem ou um arquivo do seu Workspace.

O projeto lista cada arquivo com seu tipo de arquivo, contagem de linhas e status de conversão.

Tela do projeto de migração mostrando arquivos de origem adicionados com seu tipo de arquivo, contagem de linhas e status de conversão.

Passo 4: Revisar a complexidade e a linhagem do código (opcional)

Se o Lakebridge Analyzer foi executado, faça o upload de sua saída JSON para o projeto para revisar a complexidade do código e a linhagem. Clique em um arquivo de origem para abrir uma avaliação de complexidade e clique em **Linhagem** para abrir um gráfico de dependência que mostra arquivos e tabelas interdependentes que devem ser migrados juntos. Para obter instruções sobre a execução do Analyzer, consulte o guia do Lakebridge Analyzer.

Passo 5: Execução da conversão

Selecione os arquivos para converter e clique em Executar . O Genie Code abre uma conversa, invoca a habilidade de migração e implanta subagentes para converter os arquivos simultaneamente. Cada arquivo convertido aparece como um arquivo vinculado no projeto. O conversor marca cada arquivo com um status:

  • **Verde**: Convertido com sucesso
  • Amarelo : Precisa de revisão
  • Vermelho : Falha na conversão
  • Cinza : Em andamento

Passo 6: Revisar os resultados da conversão

Clique em um arquivo convertido para abrir uma comparação lado a lado no editor de SQL, com o código-fonte ao lado do Databricks SQL proposto. Aceite todas as alterações sugeridas, ou analise e aceite edições individuais. Para scripts que não conseguem converter, edite o código no editor ou peça ao Genie Code para revalidar ou tentar novamente seções específicas. Após ficar satisfeito, execute o SQL convertido em um notebook ou no editor de SQL para confirmar que ele é executado no Databricks.

Criar uma habilidade personalizada (opcional)

As habilidades personalizadas permitem codificar regras de negócios que o Genie Code aplica automaticamente durante cada conversão. Use-os para lidar com tipos de dados proprietários, impor padrões de destino preferenciais ou capturar correções que você faz repetidamente. Uma habilidade de migração é uma habilidade do Genie Code, assim, você pode criá-la e gerenciá-la da mesma forma que qualquer outra habilidade. Para obter mais detalhes, consulte Estenda o Genie Code com habilidades de agente.

Você pode criar uma habilidade a partir das configurações do Genie Code ou de uma conversa do Genie Code. Use o caminho de configurações para habilidades complexas que incluem instruções detalhadas, exemplos ou arquivos de suporte. Use o caminho de chat para habilidades rápidas de regra única.

Crie a habilidade como um arquivo para que você possa criar instruções detalhadas e controlar a versão em uma pasta Git:

  1. No painel Genie Code, clique em Ícone de engrenagem. **Configurações** e, em seguida, clique em Seta no ícone. **Abrir pasta de habilidades**.

  2. Crie uma pasta para sua habilidade no caminho de habilidades do workspace, Workspace/.assistant/skills/. Por exemplo, Workspace/.assistant/skills/sql-migration/.

  3. Na pasta de habilidades, crie um arquivo SKILL.md com o frontmatter necessário e suas regras de conversão. Por exemplo:

    ---
    name: sql-migration
    description: Conversion rules to apply when migrating legacy SQL to ANSI SQL.
    ---

    Always convert the custom type MYDATE to TIMESTAMP_NTZ.

O Genie Code detecta a habilidade na próxima execução de uma conversão.

As habilidades do workspace são armazenadas no nível do workspace e compartilhadas entre todos os usuários no workspace.

Dicas para testes

Como parte de seu ciclo de agente, o conversor analisa cada script de origem, valida que o resultado convertido é sintaticamente válido e semanticamente equivalente à origem, e corrige iterativamente as seções que falham antes de escrever os resultados. As dicas a seguir ajudam a revisar e obter confiança no resultado:

  • Conversão em lote : Converta um pequeno lote de dois a cinco arquivos em uma sessão para verificar se a conversão de vários arquivos funciona de ponta a ponta.
  • **Validação de sintaxe**: Após a conversão, execute a saída em um editor Databricks SQL ou Notebook para confirmar que ela é executada sem erros.
  • Casos extremos : Inclua um script com construções específicas de dialeto, como funções de janela T-SQL, Snowflake QUALIFY ou Redshift LISTAGG, para ver como o conversor lida com padrões não triviais.
  • **Correção semântica**: Execute as queries originais e convertidas em relação a dados de teste equivalentes e compare os resultados. Certifique-se de que o resultado é semanticamente correto, não apenas sintaticamente válido.

Recursos adicionais