Snowpark Migration Accelerator : Scores de préparation

L’outil Snowpark Migration Accelerator (SMA) évalue votre code et génère des données d’évaluation détaillées. Pour rendre ces informations plus accessibles, SMA calcule des scores de préparation qui mesurent la facilité avec laquelle votre code peut être migré vers Snowflake. Ces scores agissent comme des indicateurs de compatibilité. Plus le score est élevé, plus votre code est compatible avec la plateforme de Snowflake. Vous pouvez obtenir ces scores en exécutant simplement l’outil SMA.

L’outil SMA génère les scores de préparation suivants :

Les scores de préparation indiquent le degré de compatibilité de votre code avec Snowflake, et non la quantité de travail qu’il reste à accomplir. Même avec un score de préparation élevé, la migration du code incompatible restant peut encore nécessiter des efforts considérables. Pour estimer avec précision le travail nécessaire à la migration, consultez le rapport d’évaluation complet. Si vous avez besoin d’aide pour créer un plan de migration ou estimer l’effort requis, contactez notre équipe.

Niveaux

L’outil Snowpark Migration Accelerator (SMA) utilise un système de notation par code couleur similaire à des feux tricolores :

  • Rouge - Un problème critique a été détecté. Arrêtez immédiatement et résolvez le problème, car il a un impact significatif sur le processus de migration ou empêche une analyse précise du code. Suivez les étapes de l’action fournie avant de poursuivre.

  • Jaune - Avertissement détecté. Examinez attentivement les étapes de l’action et comprenez l’impact potentiel sur votre migration. Une fois que vous avez compris les implications, vous pouvez passer à l’étape suivante.

  • Vert - Aucun problème majeur n’a été détecté. Bien que cela indique qu’il n’y a pas d’obstacles significatifs à la migration, le code peut encore nécessiter des ajustements. Passez en revue les actions à entreprendre et poursuivez le processus de migration.

Comment interpréter les scores ?

Pour chaque score, vous recevrez :

  • Une valeur numérique

  • Un indicateur de statut (rouge, jaune ou vert, comme expliqué précédemment)

  • Une action recommandée

Nous vous recommandons vivement les actions suivantes :

  • Examiner les scores de manière séquentielle - Lorsque vous rencontrez un score rouge, examinez ce problème et traitez-le immédiatement

  • Examiner toutes les actions recommandées pour chaque score - Consultez les prochaines étapes suggérées pour tous les résultats, y compris les scores verts, car elles contiennent des éléments d’action importants

Examinons les scores de préparation actuellement disponibles dans le système.

Score de préparation Spark API

L’outil Snowpark Migration Accelerator (SMA) génère un score de préparation Spark API, qui indique dans quelle mesure votre code est prêt pour la migration. Il est important de noter que ce score n’évalue que l’utilisation des composants de Spark API et n’évalue pas d’autres éléments tels que les bibliothèques tierces ou les dépendances externes dans votre code.

Lorsque l’outil SMA analyse votre code, il identifie toutes les références Spark API, y compris les instructions d’importation et les appels de fonction. Ces références sont documentées dans l’inventaire des utilisations Spark API que vous trouverez dans votre répertoire de sortie local. Chaque référence est classée comme « prise en charge » ou « non prise en charge » selon les catégories de référence Spark. Le score de préparation est calculé en divisant le nombre de références prises en charge par le nombre total de références trouvées dans votre code.

Calcul du score de préparation Spark API

Ce score est affiché sous forme de pourcentage, indiquant dans quelle mesure Snowflake prend en charge les références Spark API trouvées dans votre code. Un pourcentage plus élevé signifie une meilleure compatibilité avec Snowflake. Vous pouvez afficher ce score dans les sections Rapport détaillé et Résumé de l’évaluation de l’application.

Le score de préparation indiqué ici est le score d’origine généré par l’outil SMA. Pour les versions plus récentes de l’outil SMA qui n’affichent qu’un seul score de préparation, ce score mesure spécifiquement la compatibilité avec Spark API.

Niveaux de préparation Spark API

En fonction du score calculé, le résultat sera classé dans l’une des trois catégories suivantes : vert, jaune ou rouge. L’application et le rapport de sortie fourniront des recommandations spécifiques basées sur la catégorie de votre score.

Le score de préparation Spark API se verra attribuer l’un de ces niveaux :

  • Vert : La plupart des références Spark API sont prises en charge, ce qui fait de cette charge de travail un candidat solide à la migration. Si d’autres indicateurs sont également vert, envisagez de procéder à une preuve de concept.

  • Jaune : Certaines références Spark API ne sont pas prises en charge, ce qui nécessitera un effort de migration supplémentaire. Les prochaines étapes devraient comprendre la création d’un inventaire d’éléments non pris en charge et l’estimation de l’effort de conversion nécessaire.

  • Rouge : Un grand nombre de références Spark API ne sont pas prises en charge. Cette charge de travail peut être difficile à migrer. Créez un inventaire d’éléments non pris en charge pour identifier des modèles. Si une réorganisation majeure est nécessaire, incluez-la dans votre plan de migration. Pour obtenir de l’aide, contactez sma-support@snowflake.com.

Score de préparation d’une API tierce

Le score de préparation d’une API tierce indique combien de vos bibliothèques importées peuvent être utilisées dans Snowflake. Pour mieux comprendre ce score, expliquons d’abord ce que nous entendons par « tiers » :

Bibliothèque tierce : Tout paquet logiciel ou bibliothèque qui n’est pas développé, géré ou contrôlé par Snowflake (ou Snowpark dans Snowflake).

Le score de préparation indique le pourcentage de paquets et de bibliothèques externes compatibles avec Snowflake. Pour le code Python, la compatibilité signifie que le paquet est disponible via la collection de paquets Anaconda dans Snowpark. Pour le code Scala ou Java, la compatibilité signifie que le paquet est déjà inclus dans les fonctionnalités de base de Snowpark.

Le score de préparation est calculé en divisant le nombre d’importations de bibliothèques tierces prises en charge par le nombre total d’importations de bibliothèques tierces dans votre code.

Calcul du score de préparation d'une API tierce

Informations importantes sur le score de préparation :

  • Bibliothèques tierces prises en charge dans Snowpark : Inclut toutes les bibliothèques prises en charge par Snowpark (y compris org.apache.spark)

  • Nombre total d’appels de bibliothèques tierces : Somme de tous les appels de bibliothèques tierces trouvés dans le code, y compris les bibliothèques Spark et non-Spark, qu’elles soient prises en charge ou non par Snowpark.

  • Seules les importations marquées comme « ThirdPartyLib » dans l’inventaire des utilisations des importations sont comptabilisées. Les dépendances internes et les importations provenant de la base de code sont exclues.

  • Cette métrique comptabilise le nombre total d’appels, et non les références uniques de la bibliothèque. Par exemple, si votre code comporte 100 appels de bibliothèque au total, dont 80 appels à une bibliothèque non prise en charge et 20 appels à une bibliothèque prise en charge, le score de prise en charge sera de 20 %. Cela montre la fréquence d’utilisation réelle des bibliothèques prises en charge par rapport à celles qui ne le sont pas dans le code, plutôt que le ratio des références uniques de la bibliothèque.

Niveau de préparation d’une API tierce

En fonction du score calculé, le résultat sera classé dans l’une des trois catégories suivantes : vert, jaune ou rouge. L’application et le rapport de sortie fourniront des recommandations spécifiques basées sur la catégorie de votre score.

Le score de préparation d’une API tierce se verra attribuer l’un de ces niveaux :

  • Vert - La base de code utilise des bibliothèques Python qui sont entièrement prises en charge par Snowflake. Aucune configuration supplémentaire n’est exigée.

  • Jaune - La base de code contient au moins un paquet ou une bibliothèque Python qui n’est pas actuellement pris en charge dans Snowpark. Vous pouvez ajouter des paquets tiers non pris en charge en utilisant plusieurs méthodes décrites dans la Documentation du paquet tiers. Pour identifier les paquets non pris en charge, consultez l”Inventaire des utilisations des importations généré par SMA. Analysez ensuite la manière dont ces paquets sont utilisés dans votre code et planifiez leur implémentation dans Snowflake.

  • Rouge - La base de code s’appuie fortement sur des paquets ou des bibliothèques qui ne sont pas pris en charge par Snowpark. Cela peut signifier qu’une seule bibliothèque non prise en charge est utilisée de manière extensive dans tout le code, ou que plusieurs bibliothèques non prises en charge sont utilisées dans différentes parties de la base de code. Une évaluation approfondie de ces instructions d’importation est nécessaire pour comprendre leur impact. Pour obtenir des conseils ou de l’aide concernant la prise en charge des paquets, contactez sma-support@snowflake.com.

Score de préparation SQL

Le score de préparation SQL indique le pourcentage d’éléments SQL de votre code source qui peuvent être automatiquement convertis en Snowflake SQL à l’aide de l’outil Snowpark Migration Accelerator (SMA). Un score plus élevé signifie qu’une plus grande partie de votre code peut être convertie automatiquement, ce qui rend le processus de migration plus facile et plus rapide.

Le score de préparation est calculé en divisant le nombre d’éléments SQL qui peuvent être convertis par le nombre total d’éléments SQL trouvés dans le code source.

Calcul du score de préparation SQL

Niveaux du score de préparation SQL

Le score de préparation SQL se verra attribuer l’un de ces niveaux :

  • Vert - La plupart des éléments SQL de cette base de code sont directement pris en charge par Snowflake ou peuvent être convertis automatiquement par l’outil SMA. Bien qu’aucune conversion ne soit parfaite, cette charge de travail nécessite un minimum d’ajustements manuels pour la migration vers Snowflake.

  • Jaune - Certains éléments SQL de cette base de code ne sont pas pris en charge par Snowflake, ce qui nécessite des efforts supplémentaires pour la migration. Examinez l’inventaire des éléments SQL pour repérer les fonctionnalités non prises en charge et vérifiez les EWI dans la sortie des problèmes afin d’élaborer un plan d’action. Il se peut que vous deviez procéder à des ajustements mineurs du code ou à une refonte partielle de certains composants.

  • Rouge - Une grande partie des éléments SQL de cette base de code n’est pas compatible avec Snowflake, ce qui suggère qu’une refonte importante pourrait être nécessaire. Pour continuer, examinez l’inventaire des éléments SQL pour repérer les fonctionnalités non prises en charge et vérifiez les EWI dans la sortie des problèmes pour développer une stratégie de migration. Pour obtenir de l’aide, contactez sma-support@snowflake.com.


Si les scores de préparation fournissent des informations précieuses, ils ne doivent pas être le seul facteur permettant de déterminer l’état de préparation à la migration d’une charge de travail. Tenez compte de plusieurs aspects de votre plan de migration parallèlement à ces scores, car ils servent d’évaluation initiale plutôt que d’évaluation complète. Si vous remarquez des métriques de préparation qui pourraient être améliorées ou qui ne sont pas représentées avec précision dans l’outil, faites-le nous savoir. L’équipe de l’outil SMA travaille en permanence à l’amélioration et à l’affinement de ces métriques de l’état de préparation.