Snowpark Migration Accelerator: Den SMA erneut ausführen

Um die Grenzen des Tools zu demonstrieren, lassen Sie uns einen weniger geeigneten Workload analysieren. Wir lassen das Tool auf einer Codebasis laufen, die nicht unbedingt ein idealer Kandidat für die Migration ist.

Ausführung auf der zweiten Codebasis

Sie können das Tool mit einer dieser beiden Methoden erneut ausführen:

  • Schließen Sie den Snowpark Migration Accelerator (SMA) und öffnen ihn erneut. Sie können entweder Ihr zuvor erstelltes Projekt öffnen oder ein neues Projekt erstellen.

  • Klicken Sie auf die Schaltfläche „RETRY ASSESSMENT“ am unteren Rand des Anwendungsfensters, wie auf dem Bild zu sehen.

![Bewertung wiederholen](../../../../images/migrations/sma-assets/retryAssessment.png „Bild“)

Wählen Sie für diese praktische Übung die erste Option. Beenden Sie die SMA-Anwendung und wiederholen Sie die vorherigen Schritte aus dem Abschnitt „Ausführen des Tools“. Wählen Sie dieses Mal bei der Auswahl des Eingabeordners das Verzeichnis, das die Codebasis „needs_more_analysis“ enthält.

Nachdem Sie die gleichen Schritte wiederholt haben, kehren Sie zum Bildschirm „Analyse abgeschlossen“ zurück. Dieses Mal werden Sie eine andere Meldung im Ergebnisfenster sehen.

![Ausgabebildschirm für weitere Analysen](../../../../images/migrations/sma-assets/furtherAnalysis.png „Bild“)

Eine niedrige Bereitschaftsbewertung (unter 60 %) disqualifiziert einen Workload nicht automatisch von der Migration. Für eine angemessene Bewertung sind weitere Analysen erforderlich. Genau wie in unserem früheren Beispiel gibt es noch einige andere Faktoren, die wir bewerten müssen, bevor wir eine endgültige Entscheidung treffen.

Hinweise

Wenn Sie das Ergebnis „zusätzliche Analyse erforderlich“ überprüfen, denken Sie daran, dass wir erfolgreiche Migrationen zuvor anhand von drei Schlüsselfaktoren bewertet haben: der Bereitschaftsbewertung, der Größe der Codebasis und den Importen von Drittanbietern. Lassen Sie uns dieselben Faktoren für Fälle untersuchen, für die eine zusätzliche Analyse erforderlich ist.

Möglicher Code, der nicht analysiert werden konnte:

Wenn Sie zahlreiche Parsing-Fehler sehen (bei denen das Tool den eingegebenen Code nicht verstehen kann), wird Ihre Bereitschaftsbewertung niedriger ausfallen. Dies könnte zwar bedeuten, dass der Code unbekannte Muster enthält, aber es ist wahrscheinlicher, dass es Probleme mit dem exportierten Code gibt oder dass der Code in der ursprünglichen Plattform nicht gültig ist.

Das Tool zeigt Informationen zur Genauigkeit auf verschiedene Arten an. Die einfachste Methode ist die Überprüfung der Fehlermarge, die im Abschnitt „Zusammenfassung“ auf der ersten Seite des Berichts angegeben ist.

![Fehlermarge](../../../../images/migrations/sma-assets/marginError.png „Bild“)

Wenn der Prozentsatz der Parsing-Fehler hoch ist (über 5 %), befolgen Sie diese Schritte:

  1. Überprüfen Sie, ob Ihr Quellcode auf der ursprünglichen Plattform korrekt läuft

  2. Wenden Sie sich an das Snowpark Migration Accelerator-Team, um die Ursache für die Parsing-Fehler zu ermitteln

Um zu überprüfen, ob es in Ihrem Code Parsing-Probleme gibt, lesen Sie die Problemübersicht von Snowpark Migration Accelerator am Ende des Berichts. Achten Sie besonders auf den Fehlercode SPRKPY1001. Wenn dieser Fehler in mehr als 5 % Ihrer Dateien auftritt, bedeutet dies, dass ein bestimmter Code nicht geparst werden kann. Überprüfen Sie zunächst, ob der problematische Code in Ihrer Quellumgebung funktioniert. Wenn es funktioniert, wenden Sie sich an das Snowpark Migration Accelerator-Team, um Unterstützung zu erhalten.

Nicht-unterstützte Spark-Bibliotheken

Eine niedrige Bewertung bedeutet, dass Ihre Codebasis Funktionen enthält, die Snowpark noch nicht unterstützt. Achten Sie besonders darauf, wenn Sie viele Instanzen von Spark ML, MLlib oder Streaming-Funktionen sehen, da dies wichtige Indikatoren für maschinelles Lernen und Streaming-Operationen in Ihrem Code sind. Snowpark bietet derzeit nur begrenzte Unterstützung für diese Features, was sich auf Ihre Migrationspläne auswirken kann.

Größe

Eine niedrige Migrationsbewertung muss nicht immer auf eine komplexe Migration hinweisen. Berücksichtigen Sie den Kontext Ihrer Codebasis. Wenn Sie z. B. eine Bewertung von 20 % haben, aber nur fünf Referenzen in 100 Codezeilen, ist dies ein kleines, überschaubares Projekt, das mit minimalem Aufwand manuell migriert werden kann.

Wenn Sie eine große Codebasis (über 100.000 Zeilen Code) mit nur wenigen Spark-Referenzen haben, muss ein Teil des Codes möglicherweise nicht konvertiert werden. Dazu können auch von Ihrem Unternehmen erstellte Bibliotheken gehören. In solchen Fällen wäre eine zusätzliche Analyse erforderlich, um festzustellen, welcher Code umgewandelt werden muss.

In diesem Beispiel ist die Größe überschaubar. Das Projekt umfasst 150 Dateien, von denen die meisten Spark API-Referenzen enthalten, und weniger als 1.000 Zeilen Code.

Zusammenfassung

In diesem Beispiel ist die Bereitschaftsbewertung niedrig, weil die Bibliotheken ml, mllib und Streaming von Spark ausgiebig genutzt werden und es keine Probleme mit Bibliotheken von Drittanbietern oder Größeninkonsistenzen gibt. Angesichts dieser Komplexität empfehlen wir:

  1. Kontaktieren Sie sma-support@snowflake.com für eine Beratung

  2. Stellen Sie Ihre Fragen in den Snowflake Community-Foren zur Spark-Migration

Diese Ressourcen werden Ihnen helfen, die Herausforderungen Ihres spezifischen Workloads besser zu verstehen.