Snowpark Migration Accelerator: Hinweise zur Vorbereitung des Codes¶
Bevor Sie Snowpark Migration Accelerator (SMA) ausführen, stellen Sie sicher, dass sich alle Quellcodedateien auf dem Computer befinden, auf dem Sie SMA installiert haben. Sie müssen keine Verbindung zu einer Quelldatenbank oder einer Spark-Umgebung herstellen, da SMA nur eine Codeanalyse durchführt.
Der Quellcode muss in einem lesbaren Format vorliegen, damit SMA ihn korrekt verarbeiten kann, da sich das Tool vollständig auf den von Ihnen bereitgestellten Quellcode verlässt.
Extraktion¶
Bevor Sie den Snowpark Migration Accelerator (SMA) ausführen, organisieren Sie alle Ihre Quellcodedateien in einem einzigen Hauptordner. Sie können Ihre bestehende Unterordnerstruktur innerhalb dieses Hauptordners beibehalten, aber alle Codedateien müssen sich in diesem einen Verzeichnis befinden. Diese Anforderung gilt für:
Die folgenden Dateitypen werden unterstützt:
GitHub-Repositorys (als ZIP heruntergeladen und auf Ihrem lokalen Rechner extrahiert)
Python Skript-Dateien
Scala-Projektdateien
Databricks-Notebook-Dateien
Jupyter-Notebooks laufen auf Ihrem lokalen Computer
Bevor Sie mit der Migration beginnen, sammeln Sie alle Quellcodedateien in einem einzigen Hauptordner. Ihr Quellcode kann zwar von verschiedenen Orten stammen, aber wenn er an einem Ort organisiert ist, wird der Migrationsprozess effizienter. Wenn Sie bereits eine Organisationsstruktur für Ihre Dateien haben, sollten Sie diese im Hauptordner beibehalten.
Export GitHub repositories to ZIP files
To generate accurate and complete reports using the Snowpark Migration Accelerator (SMA), scan only the code that is relevant to your migration project. Rather than scanning all available code, identify and include only the essential code files that you plan to migrate. For more information, refer to Size in the Considerations section.
Hinweise¶
Sehen wir uns an, welche Dateitypen mit dem Snowpark Migration Accelerator (SMA) kompatibel sind und welche Überlegungen bei der Vorbereitung Ihres Quellcodes für die Analyse mit SMA wichtig sind.
Dateitypen¶
Der Snowpark Migration Accelerator (SMA) untersucht alle Dateien in Ihrem Verzeichnis, verarbeitet aber nur Dateien mit bestimmten Erweiterungen, die Spark API-Code enthalten können. Dazu gehören sowohl normale Codedateien als auch Jupyter-Notebooks.
You can find a list of file types that SMA supports in the Supported Filetypes section of this documentation.
Exportierte Dateien¶
Wenn Ihr Code nicht in lokalen Dateien, sondern in einer Versionskontrollplattform gespeichert ist, müssen Sie ihn in ein Format exportieren, das SMA verarbeiten kann. Hier erfahren Sie, wie Sie Ihren Code exportieren können:
For Databricks users: To use the Snowpark Migration Accelerator (SMA), you need to export your notebooks to .dbc format. You can find detailed instructions on how to export notebooks in the Databricks documentation on exporting notebooks.
Need help exporting files? Visit the export scripts in the Snowflake Labs Github repo, where Snowflake Professional Services maintains scripts for Databricks, Hive, and other platforms.
If you are using a different platform, please refer to the Code Extraction page for specific instructions for your platform. If you need assistance converting your code into a format that works with SMA, please contact sma-support@snowflake.com.
Größe¶
Der Snowpark Migration Accelerator (SMA) ist für die Analyse von Quellcode und nicht von Daten konzipiert. Um eine optimale Leistung zu gewährleisten und eine Erschöpfung der Systemressourcen zu verhindern, empfehlen wir:
Fügen Sie nur die spezifischen Codedateien ein, die Sie migrieren möchten
Vermeiden Sie die Einbeziehung unnötiger Bibliotheksabhängigkeiten
Sie können zwar abhängige Bibliothekscodedateien einbeziehen, aber das erhöht die Verarbeitungszeit erheblich, ohne einen Mehrwert zu bieten, da SMA sich speziell auf die Identifizierung von Spark-Code konzentriert, der migriert werden muss.
Wir empfehlen, alle Code-Dateien zu sammeln, die…
Automatisch als Teil eines geplanten Prozesses ausgeführt
Wurden verwendet, um diesen Prozess zu erstellen oder zu konfigurieren (falls sie getrennt sind)
Sind von Ihrem Unternehmen erstellte benutzerdefinierte Bibliotheken, die in einem der oben genannten Szenarien verwendet werden
Sie müssen keinen Code für gängige Bibliotheken von Drittanbietern wie Pandas oder Sci-Kit Learn einfügen. Das Tool erkennt und katalogisiert diese Bibliotheksreferenzen automatisch, ohne dass der Quellcode benötigt wird.
Wird er ausgeführt?¶
The Snowpark Migration Accelerator (SMA) can only process complete and syntactically correct source code. Your code must be able to run successfully in a supported source platform. If the SMA reports multiple parsing errors, this usually indicates that your source code contains syntax errors. To achieve the best results, ensure that your input directory contains only valid code that can be executed on the source platform.
Anwendungsfall¶
Bei der Überprüfung der Scanergebnisse ist es wichtig, den Zweck Ihrer Codebasis zu verstehen. Es wird Ihnen helfen:
Ermitteln Sie, welche Anwendungen oder Prozesse möglicherweise nicht gut mit Snowpark funktionieren
Verstehen und analysieren Sie die Ergebnisse der Bereitschaftsbewertung effektiver
Prüfen Sie, ob Ihr vorhandener Code und Ihre Systeme mit Snowflake kompatibel sind
Beim Scannen eines Notebooks, das einen nicht unterstützten SQL-Dialekt und einen Datenbank-Connector ohne Spark verwendet, zeigt SMA nur importierte Bibliotheken von Drittanbietern an. Diese Informationen sind zwar hilfreich, aber das Notebook erhält keine Spark API-Bereitschaftsbewertung. Wenn Sie wissen, wie Sie Ihren Code verwenden möchten, können Sie diese Beschränkungen besser verstehen und während der Migration bessere Entscheidungen treffen.
Exporte aus Databricks-Notebooks¶
Databricks Notebooks unterstützen mehrere Programmiersprachen wie SQL, Scala und PySpark in einem einzigen Notebook. Wenn Sie ein Notebook exportieren, gibt die Dateierweiterung die Hauptsprache an:
Python-Notebooks: .ipynb oder .py
SQL-Notebooks: .sql
Code, der in einer anderen Sprache als der Hauptsprache des Notebooks geschrieben wurde, wird beim Export automatisch in Kommentare umgewandelt. Wenn Sie zum Beispiel SQL-Code in ein Python-Notebook einfügen, erscheint der SQL-Code als Kommentar in der exportierten Datei.
Code-Kommentare sind von der SMA-Analyse ausgeschlossen. Um sicherzustellen, dass Ihr Code ordnungsgemäß analysiert wird, legen Sie ihn in einer Datei mit der richtigen Dateierweiterung ab, die der Quellsprache entspricht. Beispiel:
Python-Code sollte in .py-Dateien vorliegen
SQL der Code sollte in .sql-Dateien enthalten sein
Beachten Sie, dass auch unkommentierter Code nicht analysiert wird, wenn er sich in einer Datei mit der falschen Erweiterung befindet (z. B. Python-Code in einer .sql-Datei).
Before using the tool, please read the Pre-Processing Considerations section in our documentation. This section contains essential information that you need to know before proceeding.
Anleitung zur Codebasis¶
Wählen Sie eines der extrahierten Verzeichnisse der Beispiel-Codebase als Eingabe für den Snowpark Migration Accelerator (SMA).
Behalten Sie bei der Migration von Code Ihre ursprüngliche Ordnerstruktur bei. Dadurch bleibt die Dateiorganisation erhalten und die Entwickler können die Code-Architektur besser verstehen. Sowohl die Konvertierung des Codes als auch die Analyse der Bewertung werden für jede Datei einzeln durchgeführt.
In diesem Tutorial werden wir mit kleinen, funktionalen Spark-Codebeispielen arbeiten (jeweils weniger als 1MB). Diese Beispiele zeigen verschiedene Szenarien und Funktionen, die konvertiert werden können. Obwohl es sich bei diesen Beispielen um vereinfachte Versionen und nicht um Produktionscode handelt, demonstrieren sie effektiv verschiedene Konvertierungsmöglichkeiten.
Das Verzeichnis der Quellen kann Jupyter-Notebooks (.ipynb), Python-Skripte (.py) und Textdateien enthalten. Während SMA alle Dateien in Ihrer Codebasis untersucht, sucht es nur nach Spark API-Referenzen in Python-Dateien (.py) und Jupyter-Notebook-Dateien (.ipynb).