Snowpark Migration Accelerator : Comprendre le résumé de l’évaluation

Après avoir effectué une évaluation, vous pouvez voir les résultats initiaux et le résumé dans le rapport du résumé de l’évaluation. Pour accéder à ce rapport, cliquez sur le bouton Voir les résultats.

Voir les résultats

Votre rapport d’évaluation s’affiche. N’oubliez pas que ce rapport résume les informations contenues dans les fichiers d’inventaire créés dans le dossier Rapports de sortie au cours de l’exécution de l’outil SMA. Pour une analyse complète, veuillez consulter le [[Rapport détaillé] (output-reports/README.md) dans le répertoire de sortie.

La section Résultats de l’évaluation de l’application contient plusieurs composants qui sont expliqués en détail ci-dessous.

Résumé de l’évaluation standard

Le résumé s’affiche comme indiqué ci-dessous :

Résumé de l'évaluation

Dans le coin supérieur droit du rapport, un menu déroulant indique la date à laquelle votre analyse a été effectuée. Si vous avez exécuté l’outil plusieurs fois dans le cadre du même projet, le menu déroulant affichera plusieurs dates. Ces dates correspondent uniquement aux exécutions de votre projet en cours.

En haut à gauche du rapport, cliquez sur le lien pour apprendre [comment lire les différents scores de préparation] (readiness-scores.md). Sous ce lien, vous trouverez des explications détaillées pour chaque score de préparation.

Score de préparation Spark API

Ce rapport comprend plusieurs éléments, le score de préparation étant la métrique la plus importante.

Examinons chaque section en détail :

Score de préparation Spark API

  1. Score de préparation - Le score de préparation Spark API est la principale métrique utilisée par SMA pour évaluer dans quelle mesure votre code est prêt pour la migration. Ce score représente le pourcentage de références Spark API qui peuvent être converties en Snowpark API. Bien que ce score soit utile, il ne prend en compte que les références Spark API et ne tient pas compte des bibliothèques tierces ni d’autres facteurs. Il s’agit donc d’une évaluation initiale plutôt que d’une évaluation complète.

    Le score est calculé en divisant le nombre de références Spark API convertibles par le nombre total de références Spark API trouvées dans votre code. Par exemple, si le score est 3541/3746, cela signifie que 3541 références peuvent être converties sur un total de 3746 références. Un score plus élevé indique une meilleure compatibilité avec Snowpark API. Vous trouverez ce score sur la première page du rapport détaillé.

  2. Suggestion relative aux prochaines étapes - En fonction de votre score de préparation, SMA fournit des recommandations sur les prochaines étapes du processus de migration.

  3. Explication du score de préparation - Cette section fournit des détails sur la signification du score de préparation Spark API et sur la manière d’interpréter vos résultats.

  4. Ventilation du score de préparation - Cette section montre comment votre score a été calculé à l’aide de deux métriques clés :

    • Utilisations prêtes pour la conversion : Nombre de références Spark API (fonctions, éléments ou instructions d’importation) qui peuvent être converties en Snowpark

    • Utilisations identifiées : Nombre total de références Spark API trouvées dans votre code

Score de préparation des bibliothèques tierces

Le score de préparation des bibliothèques tierces s’affiche dans le format suivant :

Score de préparation des bibliothèques tierces

  1. Score de préparation - Affiche votre score de préparation et sa catégorie (vert, jaune ou rouge). Le score de préparation des bibliothèques tierces indique le pourcentage de vos bibliothèques importées qui sont prises en charge par Snowflake. Pour plus de détails, consultez la section Score de préparation des API tierces.

  2. Prochaines étapes - En fonction de votre score de préparation, SMA fournit des recommandations pour vos prochaines actions.

  3. Explication du score - Décrit la signification du score de préparation des bibliothèques tierces et comment interpréter vos résultats.

  4. Ventilation du score - Montre comment votre score de préparation des bibliothèques tierces a été calculé à l’aide de cette formule : (Nombre d’appels de bibliothèques pris en charge dans Snowpark) ÷ (Nombre total d’appels de bibliothèques identifiés)

    Où :

    • « Appels de bibliothèques pris en charge par Snowpark » signifie les bibliothèques que Snowpark peut utiliser

    • « Appels de bibliothèque identifiés » : tous les appels de bibliothèques tierces identifiés dans votre code, y compris les bibliothèques Spark et non Spark, qu’elles soient prises en charge ou non

Score de préparation SQL

Le score de préparation SQL s’affiche dans le format suivant :

Score de préparation SQL

  • Score de préparation - Affiche votre score de préparation et sa catégorie (vert, jaune ou rouge). Ce score indique le nombre d’éléments SQL dans votre code qui peuvent être convertis avec succès en Snowflake SQL. Pour plus de détails, voir la section Score de préparation SQL

  • Prochaines étapes - En fonction de votre score de préparation, SMA fournit des recommandations pour les actions à entreprendre avant de continuer.

  • Explication du score - Fournit une explication claire du score de préparation SQL et de la manière d’interpréter vos résultats.

  • Ventilation du score - Affiche un calcul détaillé de votre score de préparation SQL, calculé comme suit : (nombre d’éléments pris en charge) ÷ (nombre total d’éléments).

Utilisations de Spark API

Danger

La section Utilisations de Spark API est obsolète depuis la version 2.0.2. Vous pouvez maintenant trouver :

Le rapport contient trois sections principales affichées sous forme d’onglets :

  1. Classification de l’utilisation globale

  2. Catégorisation des utilisations de Spark API

  3. Utilisations de Spark API par statut

Nous examinerons chaque section en détail ci-dessous.

Classification de l’utilisation globale

Cet onglet affiche une table contenant trois lignes indiquant les éléments suivants :

  • Opérations prises en charge

  • Opérations non prises en charge

  • Statistiques sur l’utilisation totale

Classification de l'utilisation globale

Vous trouverez plus de détails dans la section suivante :

  1. Nombre d’utilisations - Le nombre total de fois où les fonctions Spark API sont référencées dans votre code. Chaque référence est classée comme prise en charge ou non prise en charge, les totaux étant indiqués en bas de page.

  2. Fichiers avec au moins 1 utilisation - Le nombre de fichiers qui contiennent au moins une référence Spark API. Si ce nombre est inférieur au nombre total de fichiers, cela signifie que certains fichiers n’utilisent pas du tout Spark API.

  3. Pourcentage de tous les fichiers - Indique la proportion de vos fichiers qui utilisent Spark API. Ce chiffre est calculé en divisant le nombre de fichiers utilisant Spark API par le nombre total de fichiers de code, exprimé en pourcentage.

Catégorisation des utilisations de Spark API

Cet onglet affiche les différents types de références Spark détectées dans votre base de code. Il indique le score global de préparation (qui est le même que celui affiché en haut de la page) et fournit une ventilation détaillée de ce score par catégorie.

Catégorisation des utilisations de Spark API

Vous trouverez toutes les catégories disponibles dans la section Catégories de référence Spark.

Utilisations de Spark API par statut

Le dernier onglet présente une ventilation catégorielle organisée par statut de mappage.

Utilisations de Spark API par statut

L’outil SMA utilise sept statuts de mappage principaux qui indiquent dans quelle mesure le code Spark peut être converti en Snowpark. Pour obtenir des informations détaillées sur ces statuts, reportez-vous à la section Catégories de référence Spark.

Appels d’importation

Danger

La section Appels d’importation est obsolète depuis la version 2.0.2. Vous pouvez maintenant trouver :

La section « Appels d’importation » affiche les importations de bibliothèques externes fréquemment utilisées trouvées dans votre base de code. Notez que les importations Spark API sont exclues de cette section, car elles sont traitées séparément dans la section « Spark API ».

Appels d'importation

Cette table contient les informations suivantes :

Le rapport affiche les informations suivantes :

  1. Une table de 5 lignes affiche les éléments suivants :

    • Les 3 bibliothèques Python les plus fréquemment importées

    • Une ligne « Autres » qui récapitule tous les paquets restants

    • Une ligne « Total » indiquant la somme de toutes les importations

  2. Une colonne « Pris en charge dans Snowpark » indiquant si chaque bibliothèque est incluse dans la liste des paquets Snowflake pris en charge dans Snowpark.

  3. Une colonne « Nombre d’importations » indiquant combien de fois chaque bibliothèque a été importée dans tous les fichiers.

  4. Une colonne « Couverture des fichiers » indiquant le pourcentage de fichiers contenant au moins une importation de chaque bibliothèque. Par exemple :

    • Si « sys » apparaît 29 fois dans les instructions d’importation mais qu’il n’est utilisé que dans 28,16 % des fichiers, cela suggère qu’il est généralement importé une fois par fichier où il est utilisé.

    • La catégorie « Autres » peut afficher 56 importations dans 100 % des fichiers.

Pour des informations détaillées sur l’importation par fichier, référez-vous au fichier ImportUsagesInventory.csv dans les rapports de sortie .

Résumé du fichier

Danger

La section Résumé du fichier est obsolète depuis la version 2.0.2. Vous pouvez maintenant trouver :

Le rapport du résumé contient plusieurs tables affichant des métriques organisées par type et taille de fichier. Ces métriques fournissent des informations sur le volume de la base de code et permettent d’estimer l’effort requis pour le projet de migration.

L’outil Snowpark Migration Accelerator analyse tous les fichiers de votre base de code source, y compris les fichiers de code et les fichiers non codés. Vous trouverez des informations détaillées sur les fichiers analysés dans le rapport files.csv.

Le résumé du fichier contient plusieurs sections. Examinons chaque section en détail.

Résumé du type de fichier

Le résumé du type de fichier affiche une liste de toutes les extensions de fichier trouvées dans votre référentiel de codes analysés.

Résumé du type de fichier

Les extensions de fichiers répertoriées indiquent les types de fichiers de code que SMA peut analyser. Pour chaque extension de fichier, vous trouverez les informations suivantes :

  • Lignes de code - Nombre total de lignes de code exécutables dans tous les fichiers portant cette extension. Ce nombre exclut les commentaires et les lignes vides.

  • Nombre de fichiers - Le nombre total de fichiers trouvés avec cette extension.

  • Pourcentage du nombre total de fichiers - Pourcentage que représentent les fichiers portant cette extension par rapport à l’ensemble des fichiers du projet.

Pour analyser votre charge de travail, vous pouvez facilement identifier si elle est principalement constituée de fichiers de script (tels que Python ou R), de fichiers notebook (comme Jupyter notebooks) ou de fichiers SQL. Ces informations permettent de déterminer les principaux types de fichiers de code de votre projet.

Taille des notebooks par langage

L’outil évalue les notebooks de votre base de code et leur attribue une taille de « t-shirt » (S, M, L, XL) en fonction du nombre de lignes de code qu’ils contiennent. Cette taille permet d’estimer la complexité et le champ d’application de chaque notebook.

Taille des notebooks par langage

Les tailles des notebooks sont classées en fonction du langage de programmation principal utilisé dans chaque notebook.

Statistiques notebook par langage

Cette table affiche le nombre total de lignes de code et de cellules dans tous les notebooks, organisés par langage de programmation.

Statistiques notebook par langage

Ces notebooks sont organisés en fonction du langage de programmation principal utilisé dans chaque notebook.

Contenu du fichier de code

Lorsque vous utilisez SMA, le nom de l’onglet change en fonction de votre langue source :

  • Pour les fichiers source Python, l’onglet affichera « Contenu du fichier Python »

  • Pour les fichiers source Scala, l’onglet affichera « Contenu du fichier Scala »

Cette ligne indique le nombre de fichiers contenant des références Spark API. La ligne « Utilisations de Spark » affiche :

  1. Le nombre de fichiers utilisant des APIs Spark

  2. Le pourcentage de ces fichiers par rapport au nombre total de fichiers de base de code analysés

Contenu du fichier de code

Cette métrique permet d’identifier le pourcentage de fichiers qui ne contiennent pas d’API Spark. Un faible pourcentage suggère que de nombreux fichiers de code n’ont pas de dépendances Spark, ce qui pourrait signifier que l’effort de migration pourrait être moins important que ce qui avait été initialement estimé.

Taille du fichier de code

Le nom de l’onglet Taille du fichier change en fonction de votre langue source :

  • Pour les fichiers source Python, il se nomme « Taille du fichier Python »

  • Pour les fichiers source Scala, il se nomme « Taille du fichier Scala »

Les fichiers de base de code sont classés avec la méthode Taille de t-shirt (S, M, L, XL). Chaque taille a des critères spécifiques décrits dans la colonne « Taille ». La table indique également le pourcentage de l’ensemble des fichiers Python appartenant à chaque catégorie de taille.

Taille du fichier de code

Comprendre la répartition de la taille des fichiers dans votre base de code peut aider à évaluer la complexité de la charge de travail. Un pourcentage élevé de petits fichiers suggère généralement des charges de travail plus simples et moins complexes.

Résumé des problèmes

Le résumé des problèmes fournit des informations essentielles sur les problèmes potentiels détectés lors de l’analyse du code. Lors de la transition de l’évaluation à la conversion, vous verrez apparaître une liste d’EWIs (Erreurs, Avertissements et Problèmes) détectés dans votre base de code. Pour une explication détaillée de ces problèmes, veuillez vous référer à la section Analyse des problèmes de la documentation.

Résumé des problèmes

En haut du Résumé des problèmes, vous trouverez une table qui donne un aperçu de tous les problèmes identifiés.

Résumé des problèmes - Table récapitulative

La table contient deux lignes.

  • Le « Nombre de problèmes » représente le nombre total de tous les codes de problème trouvés dans chaque catégorie.

  • Le « Nombre de problèmes uniques » représente le nombre de codes d’erreur distincts trouvés dans chaque catégorie.

Les problèmes sont répartis en trois catégories principales :

  • Les Avertissements indiquent des différences potentielles entre les plateformes source et cible qui ne nécessitent pas d’action immédiate mais qui doivent être prises en compte lors des tests. Il peut s’agir de légères variations de comportement pour des cas particuliers ou de notifications concernant des changements d’apparence par rapport à la plateforme source.

  • Les Problèmes de conversion mettent en évidence les éléments qui n’ont pas été convertis ou qui nécessitent une configuration supplémentaire pour fonctionner correctement dans la plateforme cible.

  • Les problèmes d’analyse surviennent lorsque l’outil ne peut pas interpréter des éléments de code spécifiques. Il s’agit de problèmes critiques nécessitant une attention immédiate. Ils sont généralement causés par un code source non compilable ou une extraction de code incorrecte. Si vous pensez que votre code source est correct et que vous continuez de recevoir des erreurs d’analyse, cela peut être dû à un modèle non reconnu dans SMA. Dans de tels cas, veuillez signaler un problème et inclure la section du code source qui pose problème.

La table résume le décompte total pour chaque élément.

Sous cette table, vous trouverez une liste de codes de problèmes uniques et leurs descriptions.

Résumé des problèmes - Table des codes de problème

Chaque entrée de code de problème fournit :

  • L’identificateur de problème unique

  • Une description du problème

  • Le nombre d’occurrences

  • Le niveau de gravité (Avertissement, Erreur de conversion ou Erreur d’analyse)

Vous pouvez cliquer sur n’importe quel code de problème pour afficher la documentation détaillée qui comprend :

  • Une description complète du problème

  • Exemple de code

  • Solutions recommandées

Par exemple, en cliquant sur le premier code de problème indiqué ci-dessus (SPRKPY1002), vous accéderez à la page de documentation qui lui est consacrée.

Par défaut, la table n’affiche que les 5 premiers problèmes. Pour afficher tous les problèmes, cliquez sur le bouton SHOW ALL ISSUES situé sous la table. Vous pouvez également utiliser la barre de recherche au-dessus de la table pour rechercher des problèmes spécifiques.

La compréhension du travail de conversion restant est cruciale pendant le mode d’évaluation. Vous trouverez des informations détaillées sur chaque problème et son emplacement dans l’inventaire des problèmes dans le dossier Rapports.

Résumé de l’exécution

Le résumé de l’exécution donne un aperçu complet de l’analyse récente de l’outil. Cela comprend :

  • Le score de l’analyse du code

  • Détails de l’utilisateur

  • L’ID d’exécution unique

  • Informations sur la version de SMA et de Snowpark API

  • Emplacements des dossiers du projet qui ont été spécifiés lors de la création du projet

Résumé de l'exécution

Annexes

Les annexes contiennent des informations de référence supplémentaires qui peuvent vous aider à mieux comprendre la sortie générée par l’outil SMA.

image (512).png

Ce guide contient des informations de référence générales sur l’utilisation de Snowpark Migration Accelerator (SMA). Bien que le contenu puisse être mis à jour périodiquement, il se concentre sur l’utilisation universelle de SMA plutôt que sur des détails concernant des bases de code spécifiques.


C’est ce que la plupart des utilisateurs verront lorsqu’ils lanceront l’outil Snowpark Migration Accelerator (SMA). Si vous utilisez une version plus ancienne, il se peut que le résumé abrégé de l’évaluation s’affiche à la place, comme indiqué ci-dessous.

Résumé abrégé de l’évaluation \N[Obsolète]

Si votre score de préparation est faible, votre résumé de migration peut se présenter comme suit :

Résumé de l'évaluation

Ce résumé contient les informations suivantes :

  • Date d’exécution : Indique la date à laquelle votre analyse a été effectuée. Vous pouvez afficher les résultats de toute exécution antérieure pour ce projet.

  • Résultat : Indique si votre charge de travail est adaptée à la migration sur la base du score de préparation . Le score de préparation est un outil d’évaluation préliminaire. Il ne garantit pas la réussite de la migration.

  • Dossier d’entrée : Emplacement des fichiers source qui ont été analysés.

  • Dossier de sortie : Emplacement de stockage des rapports d’analyse et des fichiers de code convertis.

  • Nombre total de fichiers : Nombre de fichiers analysés.

  • Durée d’exécution : Durée du processus d’analyse.

  • Références Spark identifiées : Nombre d’appels Spark API trouvés dans votre code.

  • Nombre de fichiers Python (ou Scala) : Nombre de fichiers de code source dans le langage de programmation spécifié.


Prochaines étapes

L’application offre plusieurs fonctions supplémentaires, auxquelles il est possible d’accéder via l’interface présentée dans l’image ci-dessous.

  • Réessayer l’évaluation - Vous pouvez relancer l’évaluation en cliquant sur le bouton Réessayer l’évaluation sur la page des résultats de l’évaluation. Cette fonction est utile lorsque vous apportez des modifications au code source et que vous souhaitez afficher les résultats mis à jour.

  • Afficher le dossier de journal - Ouvre le dossier contenant les journaux d’exécution de l’évaluation. Ces fichiers texte fournissent des informations détaillées sur le processus d’évaluation et sont essentiels pour le dépannage en cas d’échec de l’évaluation. Si vous devez faire appel au support technique, il peut vous être demandé de partager ces journaux.

  • Afficher les rapports - Ouvre le dossier contenant les rapports de sortie de l’évaluation. Il s’agit notamment du rapport d’évaluation détaillé, de l’inventaire de référence Spark et d’autres analyses de votre base de code source. Chaque type de rapport est expliqué en détail dans cette documentation.

  • Poursuivre la conversion - Bien que cette étape puisse sembler logique, il est important d’examiner attentivement les résultats de l’évaluation avant de poursuivre. Notez que l’exécution d’une conversion nécessite un code d’accès. Pour plus d’informations, consultez la section de conversion de cette documentation.

Les pages suivantes fournissent des informations détaillées sur les rapports générés à chaque exécution de l’outil.