Snowpark Migration Accelerator: Bereitschaftsbewertungen¶
Der Snowpark Migration Accelerator (SMA) evaluiert Ihren Code und erstellt detaillierte Bewertungsdaten. Um diese Informationen leichter zugänglich zu machen, berechnet SMA-Bereitschaftsbewertungen, die messen, wie einfach Ihr Code auf Snowflake migriert werden kann. Diese Bewertungen dienen als Kompatibilitätsindikatoren - je höher die Punktzahl, desto kompatibler ist Ihr Code mit der Snowflake-Plattform. Sie erhalten diese Werte, indem Sie einfach das SMA-Tool ausführen.
Die SMA generiert die folgenden Bereitschaftsbewertungen:
The Readiness Scores indicate how compatible your code is with Snowflake, not how much work remains to be done. Even with a high readiness score, the remaining incompatible code might still require significant effort to migrate. To accurately estimate the work needed for migration, review the complete assessment report. If you need help creating a migration plan or estimating the effort required, reach out to our team.
Stufen¶
Der Snowpark Migration Accelerator (SMA) verwendet ein farbcodiertes Punktesystem ähnlich einer Ampel:
Rot - Kritisches Problem erkannt. Halten Sie sofort an und beheben Sie das Problem, da es den Migrationsprozess erheblich beeinträchtigt oder eine genaue Codeanalyse verhindert. Befolgen Sie die angegebenen Aktionsschritte, bevor Sie fortfahren.
Gelb - Warnung erkannt. Prüfen Sie die Aktionsschritte sorgfältig und machen Sie sich die möglichen Auswirkungen auf Ihre Migration bewusst. Sobald Sie die Auswirkungen verstanden haben, können Sie mit dem nächsten Schritt fortfahren.
Grün - Keine größeren Probleme erkannt. Dies deutet zwar darauf hin, dass es keine wesentlichen Hindernisse für die Migration gibt, aber der Code muss möglicherweise noch angepasst werden. Überprüfen Sie die Aktionsschritte und fahren Sie mit dem Migrationsprozess fort.
So interpretieren Sie die Ergebnisse¶
Für jedes Ergebnis erhalten Sie:
Ein numerischer Wert
Eine Statusanzeige (rot, gelb oder grün, wie bereits erläutert)
Eine empfohlene nächste Aktion
Wir empfehlen Ihnen dringend, dass Sie:
Überprüfen Sie Bewertungen der Reihe nach - Wenn Sie auf eine rote Bewertung stoßen, untersuchen Sie das Problem und gehen Sie es sofort an
Prüfen Sie alle empfohlenen Maßnahmen für jede Bewertung - Prüfen Sie die vorgeschlagenen nächsten Schritte für alle Bewertungen, einschließlich der grünen Bewertungen, da sie wichtige Maßnahmen enthalten
Schauen wir uns die derzeit im System verfügbaren Bereitschaftsbewertungen an.
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.
When SMA analyzes your code, it identifies all Spark API references, including both import statements and function calls. These references are documented in the Spark API Usages Inventory, which you can find in your local output directory. Each reference is classified as either „supported“ or „not supported“ according to the Spark Reference Categories. The readiness score is calculated by dividing the number of supported references by the total number of references found in your code.
This score is displayed as a percentage, indicating how well Snowflake supports the Spark API references found in your code. A higher percentage means better compatibility with Snowflake. You can view this score in both the detailed report and the assessment summary sections of the application.
Die hier angezeigte Bereitschaftsbewertung ist der Originalwert, der von SMA generiert wurde. Bei neueren Versionen von SMA, die nur eine Bereitschaftsbewertung anzeigen, misst dieser Wert speziell die Kompatibilität von Spark API.
Snowpark API Readiness Levels¶
Anhand der berechneten Bewertung wird das Ergebnis in eine von drei Kategorien eingeordnet: grün, gelb oder rot. Die Anwendung und der Ausgabebericht enthalten spezifische Empfehlungen auf der Grundlage Ihrer Bewertungskategorie.
The Snowpark API Readiness Score will be assigned one of these levels:
Grün: Die meisten Spark API-Referenzen werden unterstützt, was dieser Workload zu einem guten Kandidaten für die Migration macht. Wenn auch andere Indikatoren grün sind, sollten Sie mit einem „Proof of Concept“ fortfahren.
Gelb: Einige Spark API-Referenzen werden nicht unterstützt, was einen zusätzlichen Migrationsaufwand erfordert. Die nächsten Schritte sollten die Erstellung eines Inventars der nicht unterstützten Artikel und die Abschätzung des erforderlichen Konvertierungsaufwands umfassen.
Snowpark Connect-Bereitschaftsbewertung¶
Die Snowpark Connect-Bereitschaftsbewertung misst den Prozentsatz von Spark API-Referenzen in Ihrer Codebasis, die von Snowpark Connect unterstützt werden. Dieser Punktwert ist eine Bewertung Ihrer Bereitschaft zur Ausführung des vorhandenen Spark API-Codes in der Snowpark Connect-Umgebung.
Wie erfolgt die Berechnung?¶
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.
Um die Bereitschaftsbewertung zu berechnen, verwendet die SMA alle unterstützten Referenzen und dividiert sie durch die Gesamtzahl der in der Codebasis gefundenen Referenzen:
Wenn Ihre Codebasis beispielsweise 100 Spark API-Referenzen enthält und 90 davon von Snowpark Connect unterstützt werden, würde Ihre Snowpark Connect-Bereitschaftsbewertung 90 % betragen.
Ein höherer Prozentsatz für die Snowpark Connect-Bereitschaftsbewertung deutet auf ein höheres Maß an Kompatibilität mit Snowpark Connect hin, was wiederum darauf hindeutet, dass ein größerer Teil Ihres Spark-Codes den von Snowpark Connect unterstützten Funktionalitäten entspricht.
Bereitschaftsstufen¶
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:
Green - This workload is highly compatible with Snowpark Connect as the majority of references to the Spark API are supported without any code changes. Files that are fully compatible can be run immediately, though some files will still require issue resolution.
A good next step would be to try to run some of the files in Snowflake. View the reports generated by the SMA and select a file that might be ready to run with Snowpark Connect.
Yellow - There are some elements of the Spark API in this workload that are not supported in Snowpark Connect or are incompatible with Snowpark Connect for Spark. This workload may still be able to run with Snowpark Connect, but there are elements that will require issue resolution or even re-architecture.
The recommended next step would be to evaluate if code conversion makes more sense. You can do this by converting this workload to the Snowpark API, and reviewing the Snowpark API Readiness Score. You can also dive deeper into this workload’s compatibility with Snowpark Connect by viewing the reports generated by the SMA. You can explore the compatibility with Snowpark by understanding which files may be ready to run and working through the Spark elements that have issues that need resolution.
Red - This workload has a significant number of references to the Spark API that are not supported in Snowpark Connect. However, this workload may still be a good candidate for conversion to the Snowpark API. The recommended next step would be to convert this workload, and take a look at the Snowpark API Readiness Score. If you need help, feel free to reach out to sma-support@snowflake.com.
If you would still like to further explore the compatibility with Snowpark Connect, you can view the reports generated by the SMA. A good place to start would be to understand which files may be ready to run.
Drittanbieter-API-Bereitschaftsbewertung¶
Die Drittanbieter-Bereitschaftsbewertung zeigt an, wie viele Ihrer importierten Bibliotheken in Snowflake verwendet werden können. Um diese Bewertung besser zu verstehen, lassen Sie uns zunächst erklären, was wir mit „Drittanbieter“ meinen:
Bibliothek eines Drittanbieters: Jedes Softwarepaket oder jede Bibliothek, die nicht von Snowflake (oder Snowpark in Snowflake) entwickelt, gepflegt oder kontrolliert wird.
The readiness score indicates the percentage of external libraries and packages that are compatible with Snowflake. For Python code, compatibility means the package is available through the Anaconda package collection in Snowpark. For Scala or Java code, compatibility means the package is already included in Snowpark’s core functionality.
Die Bereitschaftsbewertung wird berechnet, indem die Anzahl der unterstützten Drittanbieter-Bibliotheksimporte durch die Gesamtzahl der Drittanbieter-Bibliotheksimporte in Ihrem Code geteilt wird.
Wichtige Informationen über die Bereitschaftsbewertung:
Unterstützte Bibliotheken von Drittanbietern in Snowpark: Dies umfasst alle von Snowpark unterstützten Bibliotheken (einschließlich org.apache.spark)
Gesamte Bibliotheksaufrufe von Drittanbietern: Die Summe aller im Code gefundenen Bibliotheksaufrufe von Drittanbietern, einschließlich Spark- und Nicht-Spark-Bibliotheken, unabhängig davon, ob diese von Snowpark unterstützt werden oder nicht.
Es werden nur Importe gezählt, die im Inventar der Importverwendungen als „ThirdPartyLib“ markiert sind. Interne Abhängigkeiten und Importe innerhalb der Codebasis sind ausgeschlossen.
Diese Metrik zählt die Gesamtzahl der Aufrufe, nicht die eindeutigen Bibliotheksverweise. Wenn Ihr Code beispielsweise insgesamt 100 Bibliotheksaufrufe enthält, von denen 80 auf eine nicht unterstützte Bibliothek und 20 auf eine unterstützte Bibliothek entfallen, beträgt die Unterstützungsbewertung 20 %. Dies zeigt die tatsächliche Verwendungshäufigkeit von unterstützten gegenüber nicht unterstützten Bibliotheken im Code an und nicht das Verhältnis der eindeutigen Bibliotheksverweise.
Drittanbieter-API-Bereitschaftsstufen¶
Anhand der berechneten Bewertung wird das Ergebnis in eine von drei Kategorien eingeordnet: grün, gelb oder rot. Die Anwendung und der Ausgabebericht enthalten spezifische Empfehlungen auf der Grundlage Ihrer Bewertungskategorie.
Die Drittanbieter-API-Bereitschaftsbewertung wird einer dieser Stufen zugeordnet:
Grün - Die Codebasis verwendet Python-Bibliotheken, die in Snowflake vollständig unterstützt werden. Es ist keine zusätzliche Konfiguration erforderlich.
Yellow - The codebase contains at least one Python package or library that is not currently supported in Snowpark. You can add unsupported third-party packages using several methods described in the third-party package documentation. To identify unsupported packages, review the Import Usages Inventory generated by SMA. Then analyze how these packages are used in your code and plan their implementation in Snowflake.
Red - The codebase heavily relies on packages or libraries not supported in Snowpark. This could mean either a single unsupported library is used extensively throughout the code, or multiple unsupported libraries are used across different parts of the codebase. A thorough assessment of these import statements is necessary to understand their impact. For guidance or assistance with package support, contact sma-support@snowflake.com.
SQL-Bereitschaftsbewertung¶
Die SQL-Bereitschaftsbewertung gibt an, wie viel Prozent der SQL-Elemente in Ihrem Quellcode mit Hilfe des Snowpark Migration Accelerators (SMA) automatisch in Snowflake-SQL konvertiert werden können. Eine höhere Bewertung bedeutet, dass mehr von Ihrem Code automatisch konvertiert werden kann, was den Migrationsprozess einfacher und schneller macht.
Die Bereitschaftsbewertung wird berechnet, indem die Anzahl der SQL-Elemente, die konvertiert werden können, durch die Gesamtzahl der SQL-Elemente im Quellcode geteilt wird.
SQL-Bereitschaftsbewertungstufen¶
Die SQL-Bereitschaftsbewertung wird einer dieser Stufen zugeordnet:
Grün - Die meisten SQL in dieser Codebasis werden entweder direkt von Snowflake unterstützt oder können automatisch von SMA konvertiert werden. Auch wenn keine Konvertierung perfekt ist, erfordert diese Arbeitslast nur minimale manuelle Anpassungen für die Snowflake-Migration.
Gelb - Einige SQL-Elemente in dieser Codebasis werden von Snowflake nicht unterstützt und erfordern zusätzlichen Aufwand für die Migration. Überprüfen Sie das SQL-Elementinventar auf nicht unterstützte Features und überprüfen Sie die EWIs in der Problemausgabe, um einen Aktionsplan zu erstellen. Möglicherweise müssen Sie kleinere Code-Anpassungen vornehmen oder einige Komponenten teilweise neu gestalten.
Red - A large portion of SQL in this codebase is not compatible with Snowflake, suggesting significant redesign may be necessary. To proceed, review the SQL Element Inventory for unsupported features and examine the EWI’s in the issues output to develop a migration strategy. For assistance, contact sma-support@snowflake.com.
While readiness scores provide valuable insights, they should not be the only factor in determining a workload’s migration readiness. Consider multiple aspects of your migration plan alongside these scores, as they serve as an initial assessment rather than a complete evaluation. If you notice any readiness metrics that could be improved or aren’t accurately represented in the tool, let us know. The SMA team continuously works to enhance and refine these readiness measurements.