Snowpark Migration Accelerator: Executando o SMA novamente¶
Para demonstrar as limitações da ferramenta, vamos analisar uma carga de trabalho menos adequada. Executaremos a ferramenta em uma base de código que pode não ser a candidata ideal para a migração.
Execução na segunda base de código¶
Você pode executar novamente a ferramenta usando qualquer um desses métodos:
Feche e reabra o Snowpark Migration Accelerator (SMA). Você pode abrir o projeto criado anteriormente ou criar um novo.
Clique no botão «RETRY ASSESSMENT» na parte inferior da janela do aplicativo, conforme mostrado na imagem.
Para este laboratório, selecione a primeira opção. Saia do aplicativo SMA e repita as etapas anteriores da seção «Executando a ferramenta». Dessa vez, ao selecionar a pasta de entrada, escolha o diretório que contém a base de código «needs_more_analysis».
Depois de repetir as mesmas etapas, você voltará à tela «Analysis Complete». Dessa vez, você verá uma mensagem diferente no painel de resultados.
Uma pontuação de preparação baixa (abaixo de 60%) não desqualifica automaticamente uma carga de trabalho para a migração. É necessária uma análise adicional para fazer uma avaliação adequada. Assim como em nosso exemplo anterior, há vários outros fatores que precisamos avaliar antes de tomar uma decisão final.
Considerações¶
Ao revisar um resultado que exige mais análise, lembre-se de que avaliamos anteriormente as migrações bem-sucedidas com base em três fatores principais: pontuação de preparação, tamanho da base de código e importações de terceiros. Vamos examinar esses mesmos fatores para os casos que exigem análise adicional.
Possível código que não pôde ser analisado:¶
Se você observar vários erros de análise (em que a ferramenta não consegue entender o código de entrada), sua pontuação de preparação será menor. Embora isso possa significar que o código contém padrões desconhecidos, é mais provável que haja problemas com o código exportado ou que o código não seja válido na plataforma original.
A ferramenta exibe as informações de precisão de várias maneiras. O método mais fácil é verificar a margem de erro mostrada na seção de resumo na primeira página do relatório.
Se a porcentagem de erros de análise for alta (acima de 5%), siga estas etapas:
Verifique se seu código-fonte é executado corretamente na plataforma original
Entre em contato com a equipe do Snowpark Migration Accelerator para identificar a causa dos erros de análise
Para verificar se há problemas de análise em seu código, consulte o resumo de problemas do Snowpark Migration Accelerator no final do relatório. Preste atenção especial ao código de erro SPRKPY1001. Se esse erro aparecer em mais de 5% dos seus arquivos, isso indica que algum código não pode ser analisado. Primeiro, verifique se o código problemático funciona em seu ambiente de origem. Se funcionar, entre em contato com a equipe do Snowpark Migration Accelerator para obter assistência.
Bibliotecas Spark sem suporte¶
Uma pontuação baixa indica que sua base de código contém funções que ainda não são compatíveis com o Snowpark. Preste atenção especial se vir muitas instâncias de Spark ML, MLlib, ou funções de streaming, pois esses são indicadores-chave de aprendizado de máquina e operações de streaming em seu código. Atualmente, o Snowpark tem suporte limitado para esses recursos, o que pode afetar seus planos de migração.
Tamanho¶
Uma pontuação de migração baixa nem sempre indica uma migração complexa. Considere o contexto de sua base de código. Por exemplo, se você tiver uma pontuação de 20%, mas apenas cinco referências em 100 linhas de código, isso representa um projeto pequeno e gerenciável que pode ser migrado manualmente com o mínimo de esforço.
Se tiver uma base de código grande (mais de 100.000 linhas de código) com apenas algumas referências do Spark, é possível que parte do código não precise de conversão. Isso pode incluir bibliotecas personalizadas criadas por sua organização. Nesses casos, seria necessária uma análise adicional para determinar qual código requer conversão.
Neste exemplo, o tamanho é gerenciável. O projeto contém 150 arquivos, sendo que a maioria contém referências ao Spark API e menos de 1.000 linhas de código.
Resumo¶
Neste exemplo, a pontuação de preparação é baixa devido ao uso extensivo das bibliotecas ml, mllib e de streaming do Spark, em vez de problemas com bibliotecas de terceiros ou inconsistências de tamanho. Considerando essas complexidades, recomendamos:
Entrar em contato com sma-support@snowflake.com para obter orientação
Poste suas perguntas nos fóruns da Comunidade Snowflake sobre migração do Spark
Esses recursos o ajudarão a entender melhor os desafios de sua carga de trabalho específica.