Snowpark Migration Accelerator: Pontuações de preparação

O Snowpark Migration Accelerator (SMA) avalia seu código e produz dados de avaliação detalhados. Para tornar essas informações mais acessíveis, o SMA calcula as pontuações de preparação que medem a facilidade com que seu código pode ser migrado para o Snowflake. Essas pontuações funcionam como indicadores de compatibilidade - quanto maior a pontuação, mais compatível é o seu código com a plataforma da Snowflake. Você pode obter essas pontuações simplesmente executando a ferramenta SMA.

O SMA gera as seguintes pontuações de preparação:

As pontuações de preparação indicam o grau de compatibilidade do seu código com o Snowflake, e não quanto trabalho ainda precisa ser feito. Mesmo com uma alta pontuação de preparação, o código incompatível restante ainda pode exigir um esforço significativo para a migração. Para estimar com precisão o trabalho necessário para a migração, examine o relatório de avaliação completo. Se precisar de ajuda para criar um plano de migração ou estimar o esforço necessário, entre em contato com nossa equipe pelo e-mail Snowpark Migration Accelerator: Entre em contato conosco.

Níveis

O Snowpark Migration Accelerator (SMA) usa um sistema de pontuação com código de cores semelhante a um semáforo:

  • Vermelho - Problema crítico detectado. Pare imediatamente e resolva o problema, pois ele afeta significativamente o processo de migração ou impede a análise precisa do código. Siga as etapas de ação fornecidas antes de prosseguir.

  • Amarelo - Aviso detectado. Analise cuidadosamente as etapas de ação e entenda o possível impacto em sua migração. Depois de entender as implicações, pode passar para a próxima etapa.

  • Verde - Não foram detectados problemas importantes. Embora isso indique que não há impedimentos significativos para a migração, o código ainda pode precisar de ajustes. Revise as etapas de ação e continue com o processo de migração.

Como interpretar as pontuações

Para cada pontuação, você receberá:

  • Um valor numérico

  • Um indicador de status (vermelho, amarelo ou verde, conforme explicado anteriormente)

  • Uma recomendação para a próxima ação

Recomendamos enfaticamente que você:

  • Analise as pontuações sequencialmente - Quando encontrar uma pontuação vermelha, investigue e resolva o problema imediatamente

  • Revise todas as ações recomendadas para cada pontuação - Verifique as próximas etapas sugeridas para todos os resultados, incluindo as pontuações verdes, pois elas contêm itens de ação importantes

Vamos examinar as pontuações de preparação atualmente disponíveis no sistema.

Pontuação de preparação do Spark API

O Snowpark Migration Accelerator (SMA) gera uma Pontuação de preparação do Spark API, que indica o quanto seu código está pronto para a migração. É importante observar que essa pontuação avalia apenas o uso dos componentes do Spark API e não avalia outros elementos, como bibliotecas de terceiros ou dependências externas em seu código.

Quando o SMA analisa seu código, ele identifica todas as referências do Spark API, incluindo as instruções de importação e as chamadas de função. Essas referências estão documentadas no Inventário de usos do Spark API, que pode ser encontrado no seu diretório de saída local. Cada referência é classificada como «suportada» ou «não suportada» de acordo com as Categorias de referência do Spark. A pontuação de preparação é calculada dividindo-se o número de referências suportadas pelo número total de referências encontradas em seu código.

Cálculo da Pontuação de preparação do Spark API

Essa pontuação é exibida como uma porcentagem, indicando o grau de compatibilidade do Snowflake com as referências do Spark API encontradas em seu código. Uma porcentagem maior significa melhor compatibilidade com o Snowflake. É possível visualizar essa pontuação nas seções do aplicativo relatório detalhado e resumo da avaliação.

A pontuação de preparação mostrada aqui é a pontuação original gerada pelo SMA. Para as versões mais recentes do SMA que exibem apenas uma pontuação de preparação, essa pontuação mede especificamente a compatibilidade do Spark API.

Níveis de preparação do Spark API

Com base na pontuação calculada, o resultado será classificado em uma das três categorias: verde, amarelo ou vermelho. O aplicativo e o relatório de resultados fornecerão recomendações específicas com base em sua categoria de pontuação.

A Pontuação de preparação do Spark API terá um desses níveis:

  • Verde: A maioria das referências do Spark API é compatível, o que torna essa carga de trabalho uma forte candidata à migração. Se outros indicadores também estiverem verdes, considere prosseguir com uma Prova de Conceito.

  • Amarelo: Algumas referências do Spark API não são compatíveis, o que exigirá um esforço adicional de migração. As próximas etapas devem incluir a criação de um inventário de itens sem suporte e a estimativa do esforço de conversão necessário.

  • Vermelho: Não há suporte para um grande número de referências do Spark API. Essa carga de trabalho pode ser um desafio para a migração. Crie um inventário de elementos sem suporte para identificar padrões. Se for necessária uma grande reformulação da arquitetura, inclua isso no planejamento da migração. Para obter assistência, entre em contato com sma-support@snowflake.com.

Pontuação de preparação de API de terceiros

A pontuação de preparação de terceiros mostra quantas de suas bibliotecas importadas podem ser usadas no Snowflake. Para entender melhor essa pontuação, vamos primeiro explicar o que queremos dizer com «Terceiro»:

Biblioteca de terceiros: Qualquer pacote de software ou biblioteca que não seja desenvolvido, mantido ou controlado pelo Snowflake (ou Snowpark no Snowflake).

A pontuação de preparação indica a porcentagem de bibliotecas e pacotes externos que são compatíveis com o Snowflake. Para o código Python, a compatibilidade significa que o pacote está disponível por meio da coleção de pacotes Anaconda no Snowpark. Para o código Scala ou Java, a compatibilidade significa que o pacote já está incluído na funcionalidade principal do Snowpark.

A pontuação de preparação é calculada dividindo-se o número de importações de bibliotecas de terceiros suportadas pelo número total de importações de bibliotecas de terceiros em seu código.

Cálculo da Pontuação de preparação de API de terceiros

Informações importantes sobre a pontuação de preparação:

  • Bibliotecas de terceiros suportadas no Snowpark: Isso inclui todas as bibliotecas que o Snowpark suporta (incluindo org.apache.spark)

  • Total de chamadas de bibliotecas de terceiros: A soma de todas as chamadas de bibliotecas de terceiros encontradas no código, incluindo bibliotecas Spark e não-Spark, com ou sem suporte do Snowpark.

  • Somente as importações marcadas como «ThirdPartyLib» no Inventário de usos de importação são contadas. As dependências internas e as importações de dentro da base de código são excluídas.

  • Essa métrica conta o número total de chamadas, não as referências de biblioteca exclusivas. Por exemplo, se o seu código tiver 100 chamadas de biblioteca no total, com 80 chamadas para uma biblioteca sem suporte e 20 chamadas para uma biblioteca com suporte, a pontuação de suporte será de 20%. Isso mostra a frequência real de uso de bibliotecas compatíveis e não compatíveis no código, em vez da proporção de referências de bibliotecas exclusivas.

Níveis de preparação de API de terceiros

Com base na pontuação calculada, o resultado será classificado em uma das três categorias: verde, amarelo ou vermelho. O aplicativo e o relatório de resultados fornecerão recomendações específicas com base em sua categoria de pontuação.

A Pontuação de preparação de API de terceiros terá um desses níveis:

  • Verde - A base de código usa bibliotecas Python que são totalmente compatíveis com o Snowflake. Não é necessária nenhuma configuração adicional.

  • Amarelo - A base de código contém pelo menos um pacote ou biblioteca Python que não é compatível com o Snowpark no momento. Você pode adicionar pacotes de terceiros sem suporte usando vários métodos descritos na documentação de pacotes de terceiros. Para identificar pacotes sem suporte, examine o inventário de usos de importação gerado por SMA. Em seguida, analise como esses pacotes são usados em seu código e planeje a implementação deles no Snowflake.

  • Vermelho - A base de código depende muito de pacotes ou bibliotecas não compatíveis com o Snowpark. Isso pode significar que uma única biblioteca sem suporte é usada extensivamente em todo o código ou que várias bibliotecas sem suporte são usadas em diferentes partes da base de código. É necessária uma avaliação completa dessas instruções de importação para entender seu impacto. Para obter orientação ou assistência com o suporte do pacote, entre em contato com sma-support@snowflake.com.

Pontuação de preparação de SQL

A Pontuação de preparação de SQL indica a porcentagem de elementos SQL em seu código-fonte que podem ser convertidos automaticamente para o Snowflake SQL usando o Snowpark Migration Accelerator (SMA). Uma pontuação mais alta significa que mais do seu código pode ser convertido automaticamente, o que torna o processo de migração mais fácil e rápido.

A pontuação de preparação é calculada dividindo-se o número de elementos SQL que podem ser convertidos pelo número total de elementos SQL encontrados no código-fonte.

Cálculo da pontuação de preparação de SQL

Níveis de pontuação de preparação de SQL

A Pontuação de preparação de SQL terá um desses níveis:

  • Verde - A maior parte do SQL nesta base de código é diretamente suportada pelo Snowflake ou pode ser convertida automaticamente pelo SMA. Embora nenhuma conversão seja perfeita, essa carga de trabalho requer ajustes manuais mínimos para a migração para o Snowflake.

  • Amarelo - Alguns elementos do SQL nesta base de código não são compatíveis com o Snowflake, exigindo esforço adicional para a migração. Analise o Inventário de elementos SQL em busca de recursos sem suporte e verifique os EWIs na saída de problemas para criar um plano de ação. Talvez precise fazer pequenos ajustes no código ou redesenhar parcialmente alguns componentes.

  • Vermelho - Uma grande parte do SQL nessa base de código não é compatível com o Snowflake, sugerindo que pode ser necessário um redesenho significativo. Para prosseguir, revise o Inventário de elementos SQL em busca de recursos sem suporte e examine os EWIs na saída de problemas para desenvolver uma estratégia de migração. Para obter assistência, entre em contato com sma-support@snowflake.com.


Embora as pontuações de preparação forneçam informações valiosas, elas não devem ser o único fator para determinar a preparação de migração de uma carga de trabalho. Considere vários aspectos de seu plano de migração juntamente com essas pontuações, pois elas servem como uma avaliação inicial e não como uma avaliação completa. Se perceber alguma métrica de preparação que possa ser melhorada ou que não esteja representada com precisão na ferramenta, entre em contato conosco. A equipe do SMA trabalha continuamente para aprimorar e refinar essas medições de preparação.