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.

Snowpark API Readiness Score

The Snowpark Migration Accelerator (SMA) generates a Snowpark API Readiness Score, which indicates how ready your code is for migration. It’s important to note that this score only evaluates the usage of Spark API components and does not assess other elements such as third-party libraries or external dependencies in your code.

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.

Snowpark API Readiness Score Calculation

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.

Snowpark API Readiness Levels

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.

The Snowpark API Readiness Score will be assigned one of these levels:

  • 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.

Pontuação de preparação do Snowpark Connect

A pontuação de preparação do Snowpark Connect mede a porcentagem de referências à API do Spark em sua base de código que são suportadas pelo Snowpark Connect. Essa pontuação fornece uma avaliação da prontidão do seu código da API do Spark existente para execução no ambiente Snowpark Connect.

Como é calculado

During its execution, the SMA scans your codebase to identify all references to the Spark API. Examples of such references include import statements, function calls, and class instantiations. All discovered references are then logged in the Spark API Usages Inventory. This inventory is generated as a file in your local output directory. For every reference listed in the inventory, the SMA populates the IsSnowparkConnectToolSupported column, setting it to True if the API usage is supported by Snowpark Connect, or False if it is not.

Para calcular a pontuação de preparação, o SMA pega todas as referências suportadas e as divide pelo total de referências encontradas na base de código:

Cálculo da pontuação de preparação do Snowpark Connect

Por exemplo, se sua base de código tiver 100 referências à API do Spark e 90 delas forem suportadas pelo Snowpark Connect, sua pontuação de preparação do Snowpark Connect será de 90%.

Uma porcentagem mais alta na pontuação de preparação do Snowpark Connect indica um maior grau de compatibilidade com o Snowpark Connect, sugerindo que uma parte maior do seu código Spark está alinhada com as funcionalidades suportadas por ele.

Níveis de prontidão

The compatibility analysis yields a readiness score, which is categorized into one of three distinct levels: Green, Yellow, or Red. Both the application’s assessment summary and the generated detailed report will display this readiness level, accompanied by specific guidance tailored to the findings:

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.