Converter scripts SQL e pipelines ETL com o Genie Migrate
O Genie Migrate usa o Genie Code para converter SQL existente de dialetos como T-SQL, Snowflake, Redshift, Oracle, BigQuery e Teradata em código para execução no Databricks. Ele também converte cargas de trabalho de extração, transformação e carregamento (ETL) do Informatica PowerCenter (Beta) em notebooks do Databricks. Você organiza seu trabalho em um projeto de migração e escolhe uma estrutura de destino para a saída: queries do Databricks SQL ou notebooks do Databricks (Beta) que usam a API DataFrame. O Genie Migrate analisa cada script de origem, valida a saída convertida e corrige erros iterativamente antes de gravar os resultados em uma pasta de workspace.
O Genie Migrate faz parte das ferramentas do Databricks para migrar cargas de trabalho de data warehouses e ferramentas ETL existentes para o Databricks. Ele converte seus scripts SQL e pipelines ETL enquanto você organiza e monitora 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.

Ao executar uma conversão, o Genie Code implanta subagentes que convertem arquivos simultaneamente. Cada subagente analisa o dialeto de origem e gera o código equivalente para a estrutura de destino do projeto (Databricks SQL ou um notebook Databricks). Em seguida, ele verifica o código convertido:
- Sintaxe : Verifica se o código convertido entra em execução no Databricks sem erros.
- Intenção semântica : Verifica se o código convertido mantém a lógica de negócios da fonte, como os mesmos joins e cláusulas
WHERE.
Quando uma verificação falha, o subagente revisa o código e o verifica novamente. O Genie Code também aplica suas habilidades personalizadas quando converte arquivos. Consulte Criar uma habilidade personalizada (opcional). Os arquivos convertidos são gravados diretamente na pasta do workspace especificada 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
- Seus arquivos SQL ou XML existentes devem estar acessíveis em seu Workspace, upload como arquivos de Workspace ou abertos no editor.
- Seu workspace deve atender aos requisitos do Genie Code. See Genie Code.
- Para usar a estrutura de destino do Notebooks, a análise e a linhagem do projeto ou a conversão do Informatica PowerCenter, que estão em Beta, um administrador do workspace deve ativar os Recursos Experimentais de Projetos de Migração na página Pré-visualizações . Consulte Gerenciar prévias do Databricks.
Fontes compatíveis
O conversor suporta os seguintes dialetos SQL:
- T-SQL
- Snowflake SQL
- Redshift SQL
- Oracle
- BigQuery
- Teradata
Ao criar um projeto de migração para um dialeto SQL, escolha uma das seguintes estruturas de destino:
- DBSQL : queries Databricks SQL compatíveis com ANSI.
- Notebooks (Beta): Notebooks do Databricks que usam a API DataFrame, com
spark.sqlpara lógica que fica mais clara no SQL.
Beta
O suporte à fonte do Informatica PowerCenter está em Beta. Para usá-lo, um administrador de workspace deve ativar Recursos experimentais de projetos de migração na página Prévias . Consulte Gerenciar prévias do Databricks.
O conversor também suporta o Informatica PowerCenter como fonte de ETL.
O Informatica Intelligent gestão de dados cloud (IDMC) e o Informatica Intelligent cloud serviços (IICS) não são compatíveis. O Genie Migrate converte os objetos em uma exportação do Informatica, como fluxos de trabalho e mapeamentos, em notebooks do Databricks, para que os projetos do Informatica sempre usem a estrutura de destino Notebooks.
Para preparar fluxos de trabalho do Informatica para conversão, exporte-os do PowerCenter Repository Manager no formato XML do PowerMart. Exporte ao nível do fluxo de trabalho e inclua objetos dependentes, como mapeamentos, sessões, mapplets e worklets. Não inclua credenciais na exportação.
Converta seu código
Os passos seguintes descrevem como converter scripts SQL e pipelines ETL em um projeto de migração.
Passo 1: Fazer upload de arquivos de origem
Faça upload dos seus arquivos SQL (.sql) ou exportações ETL (.xml) existentes 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:
- Clique em
> Projeto de migração .
- Insira um Nome para o projeto.
- Use os seletores drop-down para escolher um Dialeto de origem e um Framework de destino . Para Framework de destino , escolha DBSQL para gerar queries do Databricks SQL, ou Notebooks (Beta) para gerar notebooks do Databricks. Se você escolher Informatica como o dialeto de origem, o framework de destino será definido como Notebooks .
- 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.
- Clique em Criar .

Etapa 3: Adicionar arquivos ao seu projeto
No novo projeto:
- Clique em Adicionar arquivos > + Adicionar arquivos .
- Selecione a pasta de origem ou um arquivo do seu Workspace.
Em projetos da Informatica, apenas arquivos .xml são adicionados. Arquivos de outros tipos são ignorados.
A tab Arquivos lista cada arquivo com seu tipo de arquivo, contagem de linhas e status de conversão. Os projetos do Informatica são abertos na tab Inventário , que lista cada exportação com os objetos que ela contém.

O passo 4: Revisar a complexidade do código e linhagem (Beta)
Beta
Este recurso está em Beta. Para usá-lo, um administrador do workspace deve ativar Recursos experimentais de projetos de migração na página Prévias . Consulte Gerenciar prévias do Databricks.
Analise o projeto para revisar a complexidade do código e as dependências entre arquivos antes de converter. A análise é opcional para projetos SQL e necessária para projetos Informatica.
Para analisar um projeto SQL:
- No projeto, clique em Analisar tudo . Se o projeto não tiver linhagem, Analisar tudo é a ação default. Caso contrário, selecione Analisar tudo no menu suspenso do botão. A análise abrange todos os arquivos do projeto, mesmo que você selecione arquivos.
- Aguarde a conclusão da análise. Para cancelar uma análise em execução, clique em Parar . Quando a análise termina, o botão muda para Converter tudo .
- Clique em um arquivo de origem para abrir sua avaliação de complexidade e clique em Linhagem para abrir um gráfico de dependência que mostra os arquivos e tabelas interdependentes que você deve migrar juntos.
Para analisar um projeto Informatica, clique em Analyze all (Analisar tudo) na tab Inventory (Inventário). A análise divide cada exportação em seus fluxos de trabalho, worklets, mapeamentos e mapplets. Você deve analisar uma exportação antes de poder convertê-la.
Passo 5: Execução da conversão
Em projetos Informatica, você seleciona e converte os fluxos de trabalho, mapeamentos e outros objetos que a análise cria, não as exportações .xml upload.
Para converter arquivos específicos, selecione-os e clique em Converter selecionados . Para converter todos os arquivos no projeto, limpe a seleção e clique em Converter todos . O Genie Code inicia 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. Cada arquivo mostra um dos seguintes status:
- Cinza : O arquivo ainda não foi convertido ( Não começado , Na fila ou Parado ). Um ícone de carregamento é exibido enquanto o arquivo é convertido.
- Verde não preenchido : o arquivo foi convertido sem problemas ( Convertido ).
- Verde preenchido : Você revisou e aceitou o arquivo convertido ( Revisado ).
- Amarelo : o arquivo foi convertido, mas tem itens de ação que você precisa revisar.
- Vermelho : A conversão falhou ( Erro ).
Cada execução converte até 500 arquivos. Se você colocar em fila mais de 500 arquivos, os primeiros 500 arquivos não convertidos entram em execução no lote atual. Após o término do lote, comece a conversão novamente para converter os próximos 500.
Passo 6: Revisar os resultados da conversão
Para projetos do Databricks SQL, clique em um arquivo convertido para abrir um diff inline no editor de SQL, que mostra cada seção do código-fonte acima do Databricks SQL proposto que o substitui. Aceite todas as alterações sugeridas ou revise e aceite edições individuais. Para projetos de Notebooks, clique em um arquivo convertido para abrir o notebook do Databricks gerado. Para scripts que não podem ser convertidos, edite o código no editor ou peça ao Genie Code para revalidar ou tentar novamente seções específicas. Depois de satisfeito, execute o SQL ou o notebook convertido para confirmar se ele é executado no Databricks. Se o mesmo erro aparecer em vários arquivos, capture a correção em uma skill personalizada e execute esses arquivos novamente. Consulte Criar uma skill personalizada (opcional).
Para projetos Informatica, compare cada notebook gerado com o mapeamento do PowerCenter correspondente. Verifique as tabelas de origem e destino, joins, filtros e grupos de roteador, lookups, lógica de Update Strategy e parâmetros. Antes de usar um pipeline convertido em produção, faça uma execução dele em dados que não são de produção e compare os resultados, como contagens de linhas e agregados de key, com a saída do fluxo de trabalho do PowerCenter.
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.
Não é necessário definir todas as suas skills antes da primeira conversão. A maioria das regras que uma skill deve capturar só fica clara depois que você revisa os primeiros resultados. Um fluxo de trabalho típico é:
- Converter um conjunto representativo de arquivos.
- Revise os arquivos com itens de ação ou erros e procure erros que se repetem entre os arquivos, como o mesmo tipo de dados, função ou padrão de nomenclatura não suportado.
- Crie uma habilidade que capture a correção para cada erro recorrente.
- Selecione apenas os arquivos afetados e clique em Converter selecionados . O Genie Code aplica a nova habilidade a esses arquivos.
Repita este ciclo conforme converte mais códigos. O Genie Code aplica cada skill às conversões posteriores no workspace, portanto, uma correção cobre outros arquivos com o mesmo padrão.
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.
- Genie Code settings
- Genie Code chat
Crie a habilidade como um arquivo para que você possa criar instruções detalhadas e controlar a versão em uma pasta Git:
-
No painel Genie Code, clique em
**Configurações** e, em seguida, clique em
**Abrir pasta de habilidades**.
-
Crie uma pasta para sua habilidade no caminho de habilidades do workspace,
Workspace/.assistant/skills/. Por exemplo,Workspace/.assistant/skills/sql-migration/. -
Na pasta de habilidades, crie um arquivo
SKILL.mdcom o frontmatter necessário e suas regras de conversão. Por exemplo:---name: sql-migrationdescription: 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.
Descreva a regra de conversão que você deseja codificar e, em seguida, peça ao Genie Code para salvá-la:
Always convert our custom type MYDATE to TIMESTAMP_NTZ. Save this as a custom migration skill.
O Genie Code cria e registra a habilidade e a aplica em futuras conversões no workspace.
Para visualizar habilidades ativas:
Show me my migration skills
Para remover uma habilidade:
Delete the migration skill for [description]
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
QUALIFYou RedshiftLISTAGG, 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.