Snowpark Migration Accelerator: Entendendo o resumo da avaliação

Depois de executar uma avaliação, você pode visualizar os resultados iniciais e o resumo no Relatório de Resumo da Avaliação. Para acessar esse relatório, clique no botão View Results.

Ver resultados

Isso exibirá seu relatório de avaliação. Lembre-se de que esse relatório resume as informações dos arquivos de inventário criados na pasta Output Reports durante a execução do SMA. Para obter uma análise abrangente, consulte o relatório detalhado no diretório de saída.

A seção Resultados da avaliação do aplicativo contém vários componentes, que são explicados em detalhes a seguir.

Resumo da avaliação padrão

O resumo aparecerá como mostrado abaixo:

Resumo da avaliação

No canto superior direito do relatório, há um menu suspenso de datas que mostra quando sua análise foi executada. Se tiver executado o acelerador várias vezes no mesmo projeto, o menu suspenso exibirá várias datas. Essas datas correspondem apenas às execuções de seu projeto aberto no momento.

Na parte superior esquerda do relatório, clique no link para saber como ler as diferentes pontuações de preparação. Abaixo deste link, você encontrará explicações detalhadas para cada pontuação de preparação.

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

Esse relatório inclui vários itens, sendo a pontuação de preparação a métrica mais importante.

Vamos examinar cada seção em detalhes:

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

  1. Pontuação de preparação - A Pontuação de preparação do Spark API é a principal métrica que o SMA usa para avaliar a preparação do seu código para a migração. Essa pontuação representa a porcentagem de referências do Spark API que podem ser convertidas para o Snowpark API. Embora essa pontuação seja útil, ela considera apenas as referências do Spark API e não leva em conta as bibliotecas de terceiros ou outros fatores. Portanto, use-a como uma avaliação inicial em vez de uma avaliação completa.

    A pontuação é calculada dividindo-se o número de referências conversíveis do Spark API pelo número total de referências do Spark API encontradas em seu código. Por exemplo, se a pontuação mostrar 3541/3746, isso significa que 3541 referências podem ser convertidas de um total de 3746 referências. Uma pontuação mais alta indica melhor compatibilidade com o Snowpark API. Você pode encontrar essa pontuação na primeira página do relatório detalhado.

  2. Sugestão sobre o que fazer em seguida - Com base em sua pontuação de preparação, o SMA fornece recomendações para as próximas etapas do processo de migração.

  3. Explicação da pontuação de preparação - Esta seção fornece detalhes sobre o significado da pontuação de preparação do Spark API e como interpretar os resultados.

  4. Detalhes da pontuação de preparação - Esta seção mostra como a sua pontuação foi calculada usando duas métricas principais:

    • Usos prontos para conversão: O número de referências Spark API (funções, elementos ou instruções de importação) que podem ser convertidas para o Snowpark

    • Usos identificados: O número total de referências Spark API encontradas em seu código

Pontuação de preparação das bibliotecas de terceiros

A pontuação de preparação das bibliotecas de terceiros será exibida no seguinte formato:

Pontuação de preparação de bibliotecas de terceiros

  1. Pontuação de preparação - Exibe sua pontuação de preparação e sua categoria (verde, amarela ou vermelha). A pontuação de preparação das bibliotecas de terceiros mostra a porcentagem das bibliotecas importadas que são compatíveis com o Snowflake. Para obter mais detalhes, consulte a seção [Pontuação de preparação de API de terceiros] (readiness-scores.md#third-party-api-readiness-score).

  2. Próximos passos - Com base em sua pontuação de preparação, o SMA fornece recomendações para suas próximas ações.

  3. Explicação da pontuação - Descreve o que significa a pontuação de preparação das bibliotecas de terceiros e como interpretar seus resultados.

  4. Detalhes da pontuação - Mostra como a pontuação de preparação das bibliotecas de terceiros foi calculada usando esta fórmula: (Número de chamadas de biblioteca suportadas no Snowpark) ÷ (Número total de chamadas de biblioteca identificadas)

    Onde:

    • «Chamadas de biblioteca compatíveis com o Snowpark» significa as bibliotecas que o Snowpark pode usar

    • «Chamadas de biblioteca identificadas» significa todas as chamadas de biblioteca de terceiros encontradas em seu código, incluindo bibliotecas Spark e não Spark, sejam elas suportadas ou não

Pontuação de preparação de SQL

A Pontuação de preparação de SQL será exibida no seguinte formato:

Pontuação de preparação de SQL

  • Pontuação de preparação - Exibe sua pontuação de preparação e sua categoria (verde, amarela ou vermelha). Essa pontuação indica quantos elementos SQL em seu código podem ser convertidos com sucesso para o Snowflake SQL. Para obter mais detalhes, consulte a seção Pontuação de preparação de SQL.

  • Próximas etapas - Com base em sua pontuação de preparação, o SMA fornece recomendações de ações a serem tomadas antes de prosseguir.

  • Score Explanation - Fornece uma explicação clara da pontuação de preparação de SQL e como interpretar seus resultados.

  • Score Breakdown - Mostra um cálculo detalhado da sua Pontuação de preparação de SQL, calculada como: (número de elementos suportados) ÷ (número total de elementos).

Usos do Spark API

Perigo

A seção de Usos do Spark API foi descontinuada desde a versão 2.0.2. Agora você pode encontrar:

O relatório contém três seções principais exibidas como guias:

  1. Classificação de uso geral

  2. Categorização do uso do Spark API

  3. Usos do Spark API por status

Examinaremos cada seção em detalhes a seguir.

Classificação de uso geral

Essa guia exibe uma tabela com três linhas que mostram:

  • Operações com suporte

  • Operações não suportadas

  • Estatísticas de uso total

Classificação de uso geral

Detalhes adicionais são fornecidos na seção a seguir:

  1. Usages Count - O número total de vezes que as funções do Spark API são referenciadas em seu código. Cada referência é classificada como suportada ou não suportada, com os totais mostrados na parte inferior.

  2. Arquivos com pelo menos 1 uso - O número de arquivos que contêm pelo menos uma referência ao Spark API. Se esse número for menor do que o número total de arquivos, isso significa que alguns arquivos não usam o Spark API.

  3. Percentage of All Files - Mostra que parte de seus arquivos usa o Spark API. Isso é calculado dividindo-se o número de arquivos com uso do Spark API pelo número total de arquivos de código, expresso como uma porcentagem.

Categorização do uso do Spark API

Essa guia exibe os diferentes tipos de referências Spark detectadas em sua base de código. Ele mostra a pontuação geral de preparação (que é a mesma pontuação mostrada na parte superior da página) e fornece uma análise detalhada dessa pontuação por categoria.

Categorização de usos do Spark API

Você pode encontrar todas as categorizações disponíveis na seção Categorias de referência do Spark.

Usos do Spark API por status

A última guia exibe um detalhamento categórico organizado por status de mapeamento.

Usos do Spark API por status

A ferramenta SMA usa sete status principais de mapeamento, que indicam a capacidade de conversão do código Spark para o Snowpark. Para obter informações detalhadas sobre esses status, consulte a seção Categorias de referência do Spark.

Chamadas de importação

Perigo

A seção Import Calls foi removida desde a versão 2.0.2. Agora você pode encontrar:

A seção «Import Calls» exibe as importações de bibliotecas externas usadas com frequência encontradas em sua base de código. Observe que as importações do Spark API estão excluídas desta seção, pois são abordadas separadamente na seção «Spark API «.

Chamadas de importação

Essa tabela contém as seguintes informações:

O relatório exibe as seguintes informações:

  1. Uma tabela com 5 linhas exibidas:

    • As 3 bibliotecas Python importadas com mais frequência

    • Uma linha «Other» resumindo todos os pacotes restantes

    • Uma linha «Total» mostrando a soma de todas as importações

  2. Uma coluna «Supported in Snowpark» indicando se cada biblioteca está incluída na lista de pacotes no Snowpark suportados pelo Snowflake.

  3. Uma coluna «Import Count» mostra quantas vezes cada biblioteca foi importada em todos os arquivos.

  4. Uma coluna «File Coverage» mostra a porcentagem de arquivos que contêm pelo menos uma importação de cada biblioteca. Por exemplo:

    • Se “sys” aparecer 29 vezes nos comandos de importação, mas for usado apenas em 28,16% dos arquivos, isso sugere que ele é normalmente importado uma vez por arquivo em que é usado.

    • A categoria «Other» poderia mostrar 56 importações que ocorrem em 100% dos arquivos.

Para obter informações detalhadas sobre a importação por arquivo, consulte o arquivo ImportUsagesInventory.csv nos relatórios de saída.

Resumo do arquivo

Perigo

A seção File Summary foi removida desde a versão 2.0.2. Agora você pode encontrar:

O relatório resumido contém várias tabelas que exibem métricas organizadas por tipo e tamanho de arquivo. Essas métricas fornecem informações sobre o volume da base de código e ajudam a estimar o esforço necessário para o projeto de migração.

O Snowpark Migration Accelerator analisa todos os arquivos em sua base de código-fonte, incluindo arquivos de código e não-código. Você pode encontrar informações detalhadas sobre os arquivos verificados no relatório files.csv.

O Resumo do arquivo contém várias seções. Vamos examinar cada seção em detalhes.

Resumo de tipo de arquivo

O resumo de tipo de arquivo exibe uma lista de todas as extensões de arquivo encontradas no repositório de códigos verificados.

Resumo dos tipos de arquivo

As extensões de arquivo listadas indicam os tipos de arquivos de código que o SMA pode analisar. Para cada extensão de arquivo, você encontrará as seguintes informações:

  • Lines of Code - O número total de linhas de código executáveis em todos os arquivos com essa extensão. Essa contagem exclui comentários e linhas vazias.

  • File Count - O número total de arquivos encontrados com essa extensão.

  • Percentage of Total Files - A porcentagem que os arquivos com essa extensão representam em relação a todos os arquivos do projeto.

Para analisar sua carga de trabalho, você pode identificar facilmente se ela consiste principalmente em arquivos de script (como Python ou R), arquivos de notebook (como notebooks Jupyter) ou arquivos SQL. Essas informações ajudam a determinar os principais tipos de arquivos de código em seu projeto.

Dimensionamento de notebooks por linguagem

A ferramenta avalia os notebooks em sua base de código e atribui a eles um tamanho de «camiseta» (S, M, L, XL) com base no número de linhas de código que eles contêm. Esse dimensionamento ajuda a estimar a complexidade e o escopo de cada notebook.

Dimensionamento de notebooks por linguagem

Os tamanhos dos notebooks são categorizados de acordo com a principal linguagem de programação usada em cada notebook.

Estatísticas de notebooks por linguagem

Essa tabela exibe o número total de linhas de código e células em todos os notebooks, organizados por linguagem de programação.

Estatísticas de notebooks por linguagem

Esses notebooks são organizados de acordo com a principal linguagem de programação usada neles.

Conteúdo do arquivo de código

Ao executar o SMA, o nome da guia mudará de acordo com a linguagem de origem:

  • Para arquivos de origem Python, a guia exibirá «Python File Content»

  • Para arquivos de origem Scala, a guia exibirá «Scala File Content»

Essa linha mostra quantos arquivos contêm referências ao Spark API. A linha «Spark Usages» exibe:

  1. O número de arquivos que usam Spark APIs

  2. Que porcentagem esses arquivos representam do total de arquivos da base de código analisados

Conteúdo dos arquivos de código

Essa métrica ajuda a identificar a porcentagem de arquivos que não contêm referências ao Spark API. Uma porcentagem baixa sugere que muitos arquivos de código não têm dependências do Spark, o que pode significar que o esforço de migração pode ser menor do que o estimado inicialmente.

Dimensionamento de arquivos de código

O nome da guia File Sizing muda de acordo com a linguagem de origem:

  • Para arquivos de origem Python, ele é exibido como «Python File Sizing»

  • Para arquivos de origem Scala, ele é exibido como «Scala File Sizing»

Os arquivos da base de código são categorizados usando tamanhos de «camiseta» (S, M, L, XL). Cada tamanho tem critérios específicos descritos na coluna «Size». A tabela também mostra qual porcentagem de todos os arquivos Python se enquadra em cada categoria de tamanho.

Tamanho dos arquivos de código

Compreender a distribuição do tamanho dos arquivos em sua base de código pode ajudar a avaliar a complexidade da carga de trabalho. Uma alta porcentagem de arquivos pequenos normalmente sugere cargas de trabalho mais simples e menos complexas.

Resumo dos problemas

O Resumo de problemas fornece informações críticas sobre possíveis problemas encontrados durante a verificação de código. Ao fazer a transição da avaliação para a conversão, você verá uma lista de EWIs (Errors, Warnings, and Issues) detectados em sua base de código. Para obter uma explicação detalhada desses problemas, consulte a seção Análise de problemas na documentação.

Resumo de problemas

Na parte superior do resumo de problemas, vocês encontrará uma tabela que fornece uma visão geral de todos os problemas identificados.

Resumo dos problemas - Tabela de resumo

A tabela contém duas linhas.

  • O «Número de problemas» representa a contagem total de todos os códigos de problemas encontrados em cada categoria.

  • O «Número de problemas exclusivos» representa a contagem de códigos de erro distintos encontrados em cada categoria.

Os problemas são divididos em três categorias principais:

  • Avisos indicam possíveis diferenças entre as plataformas de origem e de destino que podem não exigir ação imediata, mas devem ser consideradas durante o teste. Isso pode incluir pequenas variações de comportamento para casos extremos ou notificações sobre alterações na aparência em comparação com a plataforma de origem.

  • Problemas de conversão destaca os elementos que não foram convertidos ou que precisam de configuração adicional para funcionar corretamente na plataforma de destino.

  • Problemas de análise ocorrem quando a ferramenta não consegue interpretar elementos de código específicos. Esses são problemas críticos que exigem atenção imediata, geralmente causados por código-fonte que não está sendo compilado ou por extração incorreta de código. Se acreditar que seu código-fonte está correto, mas ainda recebe erros de análise, isso pode ser devido a um padrão não reconhecido no SMA. Nesses casos, acesse relatar um problema e inclua a seção do código-fonte problemático.

A tabela resume a contagem total de cada item.

Abaixo dessa tabela, você encontrará uma lista de códigos de problema exclusivos e suas descrições.

Resumo de problemas - Tabela de códigos de problemas

Cada entrada de código de problema fornece:

  • O identificador exclusivo do problema

  • Uma descrição do problema

  • O número de ocorrências

  • O nível de gravidade (Warning, Conversion Error ou Parsing Error)

Você pode clicar em qualquer código de problema para visualizar a documentação detalhada que inclui:

  • Uma descrição completa do problema

  • Exemplo de código

  • Soluções recomendadas

Por exemplo, ao clicar no primeiro código de problema mostrado acima (SPRKPY1002 ), você será direcionado para a página de documentação dedicada.

Por padrão, a tabela exibe apenas os 5 principais problemas. Para visualizar todos os problemas, clique no botão SHOW ALL ISSUES localizado abaixo da tabela. Você também pode usar a barra de pesquisa acima da tabela para encontrar problemas específicos.

Entender o trabalho de conversão restante é crucial durante o modo de avaliação. Você pode encontrar informações detalhadas sobre cada problema e sua localização no inventário de problemas na pasta Reports.

Resumo da execução

O resumo da execução fornece uma visão geral abrangente da análise recente da ferramenta. Isso inclui:

  • A pontuação da análise de código

  • Detalhes do usuário

  • A ID de execução exclusiva

  • Informações sobre a versão do SMA e do Snowpark API

  • Locais da pasta do projeto que foram especificados durante a criação do projeto

Resumo da execução

Apêndices

Os apêndices contêm informações de referência adicionais que podem ajudá-lo a entender melhor a saída gerada pela ferramenta SMA.

image (512).png

Este guia contém informações gerais de referência sobre o uso do Snowpark Migration Accelerator (SMA). Embora o conteúdo possa ser atualizado periodicamente, ele se concentra no uso universal do SMA em vez de detalhes sobre bases de código específicas.


Isso é o que a maioria dos usuários verá ao executar o Snowpark Migration Accelerator (SMA). Se estiver usando uma versão mais antiga, você poderá ver o Resumo abreviado da avaliação, que é mostrado abaixo.

Resumo abreviado da avaliação[Obsoleto]

Se sua pontuação de preparação for baixa, o resumo da migração poderá ser exibido da seguinte forma:

Resumo da avaliação

Este resumo contém as seguintes informações:

  • Data de execução: Mostra quando sua análise foi realizada. Você pode visualizar os resultados de qualquer execução anterior desse projeto.

  • Resultado: Indica se sua carga de trabalho é adequada para migração com base na pontuação de preparação . A pontuação de preparação é uma ferramenta de avaliação preliminar e não garante o sucesso da migração.

  • Pasta de entrada: Localização dos arquivos de origem que foram analisados.

  • Pasta de saída: Local onde são armazenados os relatórios de análise e os arquivos de código convertidos.

  • Total Files: Número de arquivos analisados.

  • Tempo de execução: Duração do processo de análise.

  • Referências Spark identificadas: Número de chamadas Spark API encontradas em seu código.

  • Contagem de arquivos Python (ou Scala): Número de arquivos de código-fonte na linguagem de programação especificada.


Próximos passos

O aplicativo oferece vários recursos adicionais, que podem ser acessados por meio da interface mostrada na imagem abaixo.

  • Retry Assessment - Você pode executar a avaliação novamente clicando no botão Retry Assessment na página de Resultados da avaliação. Isso é útil quando você faz alterações no código-fonte e deseja ver os resultados atualizados.

  • View Log Folder - Abre a pasta que contém os registros de execução da avaliação. Esses arquivos de texto fornecem informações detalhadas sobre o processo de avaliação e são essenciais para a solução de problemas se a avaliação falhar. Se for necessário suporte técnico, você poderá ser solicitado a compartilhar esses registros.

  • View Reports - Abre a pasta que contém os relatórios de resultados da avaliação. Isso inclui o relatório de avaliação detalhado, o inventário de referência do Spark e outras análises de sua base de código-fonte. Cada tipo de relatório é explicado em detalhes nesta documentação.

  • Continue a conversão - Embora essa possa parecer a próxima etapa lógica, é importante analisar os resultados da avaliação minuciosamente antes de prosseguir. Observe que a execução de uma conversão requer um código de acesso. Para obter mais informações, consulte a seção de conversão desta documentação.

As páginas a seguir fornecem informações detalhadas sobre os relatórios gerados sempre que a ferramenta é executada.