Snowpark Migration Accelerator: Notas sobre a preparação do código¶
Antes de executar o Snowpark Migration Accelerator (SMA), certifique-se de que todos os seus arquivos de código-fonte estejam localizados no computador em que instalou o SMA. Você não precisa se conectar a nenhum banco de dados de origem ou ambiente Spark, pois o SMA só realiza análise de código.
O código-fonte deve estar em um formato legível para que o SMA possa processá-lo corretamente, pois a ferramenta depende totalmente do código-fonte fornecido por você.
Extração¶
Antes de executar o Snowpark Migration Accelerator (SMA), organize todos os seus arquivos de código-fonte em uma única pasta principal. Você pode manter a estrutura de subpastas existente dentro dessa pasta principal, mas todos os arquivos de código devem estar localizados nesse único diretório. Esse requisito se aplica a:
Os seguintes tipos de arquivos são suportados:
Repositórios GitHub (baixados como arquivos ZIP e extraídos para seu computador local)
Arquivos de script Python
Arquivos de projeto Scala
Arquivos de notebook do Databricks
Os notebooks Jupyter são executados em seu computador local
Antes de iniciar a migração, reúna todos os arquivos de código-fonte em uma única pasta principal. Embora seu código-fonte possa vir de diferentes locais, tê-lo organizado em um único lugar tornará o processo de migração mais eficiente. Se você já tiver uma estrutura de organização de arquivos estabelecida, mantenha-a intacta dentro da pasta principal.
Export GitHub repositories to ZIP files
To generate accurate and complete reports using the Snowpark Migration Accelerator (SMA), scan only the code that is relevant to your migration project. Rather than scanning all available code, identify and include only the essential code files that you plan to migrate. For more information, refer to Size in the Considerations section.
Considerações¶
Vamos analisar quais tipos de arquivos são compatíveis com o Snowpark Migration Accelerator (SMA) e entender as principais considerações ao preparar seu código-fonte para análise com o SMA.
Tipos de arquivo¶
O Snowpark Migration Accelerator (SMA) examina todos os arquivos em seu diretório de origem, mas processa apenas arquivos com extensões específicas que podem conter código Spark API. Isso inclui arquivos de código regulares e notebooks Jupyter.
You can find a list of file types that SMA supports in the Supported Filetypes section of this documentation.
Arquivos exportados¶
Se o seu código estiver armazenado em uma plataforma de controle de origem em vez de arquivos locais, será necessário exportá-lo para um formato que o SMA possa processar. Veja como pode exportar seu código:
For Databricks users: To use the Snowpark Migration Accelerator (SMA), you need to export your notebooks to .dbc format. You can find detailed instructions on how to export notebooks in the Databricks documentation on exporting notebooks.
Need help exporting files? Visit the export scripts in the Snowflake Labs Github repo, where Snowflake Professional Services maintains scripts for Databricks, Hive, and other platforms.
If you are using a different platform, please refer to the Code Extraction page for specific instructions for your platform. If you need assistance converting your code into a format that works with SMA, please contact sma-support@snowflake.com.
Tamanho¶
O Snowpark Migration Accelerator (SMA) foi projetado para analisar o código-fonte, não os dados. Para garantir o desempenho ideal e evitar o esgotamento dos recursos do sistema, recomendamos que você
Inclua apenas os arquivos de código específicos que deseja migrar
Evite incluir dependências de biblioteca desnecessárias
Embora possa incluir arquivos de código de biblioteca dependentes, isso aumentará significativamente o tempo de processamento sem agregar valor, pois o SMA se concentra especificamente na identificação do código do Spark que requer migração.
Recomendamos reunir todos os arquivos de código que…
Executem automaticamente como parte de um processo programado
Foram usados para criar ou configurar esse processo (se forem separados)
São bibliotecas personalizadas criadas por sua organização que são usadas em qualquer um dos cenários acima
Você não precisa incluir código para bibliotecas comuns de terceiros, como Pandas ou Sci-Kit Learn. A ferramenta detectará e catalogará automaticamente essas referências de biblioteca sem precisar do código-fonte.
Ele funciona?¶
The Snowpark Migration Accelerator (SMA) can only process complete and syntactically correct source code. Your code must be able to run successfully in a supported source platform. If the SMA reports multiple parsing errors, this usually indicates that your source code contains syntax errors. To achieve the best results, ensure that your input directory contains only valid code that can be executed on the source platform.
Caso de uso¶
Compreender a finalidade de sua base de código é essencial ao analisar os resultados da varredura. Isso ajudará você a:
Determinar quais aplicativos ou processos podem não funcionar bem com o Snowpark
Compreender e analisar os resultados da avaliação de preparação de forma mais eficaz
Verificar se o código e os sistemas existentes são compatíveis com a Snowflake
Ao verificar um notebook que usa um dialeto SQL não suportado e um conector de banco de dados sem o Spark, o SMA exibirá apenas as bibliotecas importadas de terceiros. Embora essas informações sejam úteis, o notebook não receberá uma pontuação de preparação para Spark API. Entender como você planeja usar o código o ajudará a compreender melhor essas limitações e a tomar melhores decisões durante a migração.
Exportações de Databricks Notebooks¶
Os Databricks Notebooks suportam várias linguagens de programação, como SQL, Scala e PySpark em um único notebook. Quando você exportar um notebook, a extensão do arquivo refletirá a linguagem principal:
Notebooks Python: .ipynb ou .py
Notebooks SQL: .sql
Qualquer código escrito em uma linguagem diferente da linguagem principal do notebook será automaticamente convertido em comentários durante a exportação. Por exemplo, se incluir código SQL em um notebook Python, o código SQL aparecerá como comentários no arquivo exportado.
Os comentários do código são excluídos da análise do SMA. Para garantir que seu código seja analisado adequadamente, coloque-o em um arquivo com a extensão correta correspondente à linguagem de origem. Por exemplo:
O código Python deve estar em arquivos .py
O código SQL deve estar em arquivos .sql
Observe que mesmo o código não comentado não será analisado se estiver em um arquivo com a extensão errada (como o código Python em um arquivo .sql).
Before using the tool, please read the Pre-Processing Considerations section in our documentation. This section contains essential information that you need to know before proceeding.
Base de código passo a passo¶
Selecione um dos diretórios de base de código de amostra extraídos como a entrada para o Snowpark Migration Accelerator (SMA).
Ao migrar o código, mantenha sua estrutura de pastas original. Isso preserva a organização dos arquivos e ajuda os desenvolvedores a entender a arquitetura do código. O processo de conversão de código e a análise de avaliação são realizados um arquivo de cada vez.
Neste tutorial, trabalharemos com amostras de código Spark pequenas e funcionais (cada uma com menos de 1MB). Esses exemplos mostram diferentes cenários e funções que podem ser convertidos. Embora esses exemplos sejam versões simplificadas e não código de produção, eles demonstram efetivamente várias possibilidades de conversão.
O diretório de origem pode conter notebooks Jupyter (.ipynb), scripts Python (.py) e arquivos de texto. Embora o SMA examine todos os arquivos em sua base de código, ele procura apenas referências ao Spark API em arquivos Python (.py) e arquivos de notebook Jupyter (.ipynb).