Snowpark Migration Accelerator: コード準備の注意事項¶
Snowpark Migration Accelerator(SMA)を実行する前に、すべてのソースコードファイルが SMA をインストールしたコンピューターにあることを確認してください。SMA はコード分析のみを行うため、ソースデータベースやSpark環境に接続する必要はありません。
このツールは、提供されたソースコードに完全に依存しているため、 SMA が正しく処理するためには、ソースコードを読み取り可能な形式にする必要があります。
抽出¶
Snowpark Migration Accelerator(SMA)を実行する前に、すべてのソースコードファイルを1つのメインフォルダーに整理します。このメインフォルダーの中に既存のサブフォルダー構造を維持することができますが、すべてのコードファイルはこの1つのディレクトリの下に配置する必要があります。この要件は以下に適用されます。
以下のファイルタイプに対応しています。
GitHub リポジトリ(ZIP ファイルとしてダウンロードし、ローカルマシンに解凍)
Pythonスクリプトファイル
Scalaプロジェクトファイル
Databricksノートブックファイル
Jupyterノートブックはローカルコンピューター上で動作します。
移行を開始する前に、すべてのソースコードファイルを1つのメインフォルダーに集めます。ソースコードはさまざまな場所にある可能性がありますが、1つの場所に整理されていることで、移行プロセスがより効率的になります。すでに確立されたファイル構成がある場合は、メインフォルダー内でそれをそのまま維持してください。
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.
考慮事項¶
Snowpark Migration Accelerator(SMA)と互換性のあるファイルタイプを確認し、ソースコードを SMA で分析するために準備する際のキーポイントを理解しましょう。
ファイルタイプ¶
Snowpark Migration Accelerator(SMA)は、ソースディレクトリ内のすべてのファイルを検査しますが、Spark API コードを含む可能性のある特定の拡張子を持つファイルのみを処理します。これには、通常のコードファイルとJupyterノートブックの両方が含まれます。
You can find a list of file types that SMA supports in the Supported Filetypes section of this documentation.
エクスポートされるファイル¶
コードがローカルファイルではなくソース管理プラットフォームに保存されている場合は、 SMA が処理できる形式にエクスポートする必要があります。コードをエクスポートする方法をここに説明します。
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.
サイズ¶
Snowpark Migration Accelerator(SMA)は、データではなくソースコードを分析するように設計されています。最適なパフォーマンスを確保し、システムリソースの枯渇を防ぐために、以下のことをお勧めします。
移行する特定のコードファイルのみを含める
不要なライブラリ依存関係を含めないようにする
依存関係のあるライブラリコードファイルを含めることはできますが、 SMA は移行が必要なSparkコードの識別に特化されているため、付加価値がないわりに処理時間が大幅に増加します。
以下のようなコードファイルをすべて収集することをお勧めします。
スケジュールされたプロセスの一部として自動的に実行されるもの
そのプロセスを作成または構成するために使用されたもの
上記のいずれかのシナリオで使用される、組織が作成したカスタムライブラリ
PandasやSci-Kit Learnのような一般的なサードパーティライブラリのコードを含める必要はありません。このツールは、ソースコードを必要とせずに、これらのライブラリ参照を自動的に検出し、カタログ化します。
実行可能かどうか¶
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.
ユースケース¶
スキャン結果を確認する際には、コードベースの目的を理解することが不可欠です。以下の助けになります。
Snowparkと相性の悪いアプリケーションやプロセスを特定する
レディネス評価の結果をより効果的に理解し、分析する
既存のコードとシステムがSnowflakeと互換性があるかどうかを確認する
サポートされていない SQL 方言とSparkを使用しないデータベースコネクタを使用するノートブックをスキャンすると、 SMA はインポートされたサードパーティライブラリのみを表示します。この情報は役に立ちますが、ノートブックはSpark API レディネススコアを受け取りません。コードをどのように使用する予定かを理解することで、これらの制限をよりよく理解し、移行時により良い決定を下すことができます。
Databricks Notebooksからのエクスポート¶
Databricksノートブックは、 SQL、Scala、 PySpark などの複数のプログラミング言語を1つのノートブックでサポートしています。ノートブックをエクスポートすると、ファイルの拡張子に主要言語が反映されます。
Pythonノートブック: .ipynbまたは.py
SQL ノートブック: .sql
ノートブックの主要言語と異なる言語で書かれたコードは、エクスポート時に自動でコメントに変換されます。たとえば、 SQL コードをPythonノートブックに含めると、 SQL コードはエクスポートされたファイルにコメントとして表示されます。
コードコメントは SMA 分析から除外されます。コードが適切に分析されるように、ソース言語に合った正しい拡張子のファイルにコードを入れます。例:
Pythonコードは、.pyファイルに入れる必要があります
SQL コードは、.sqlファイルに入れる必要があります
コメントアウトされていないコードであっても、間違った拡張子のファイル(例: .sqlファイル内にPythonコード)にある場合は分析されないことに注意してください。
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.
ウォークスルーコードベース¶
Snowpark Migration Accelerator(SMA)の入力として、抽出したサンプルコードベースディレクトリのいずれかを選択します。
コードを移行するときは、元のフォルダー構造を維持します。これにより、ファイル構成が保持され、開発者がコードアーキテクチャを理解しやすくなります。コード変換プロセスも評価分析も、1ファイルずつ実行されます。
このチュートリアルでは、小型の関数Sparkコードサンプル(それぞれ 1MB 未満)を使用します。これらのサンプルは、さまざまなシナリオと変換可能な関数を示しています。これらの例は簡易バージョンであり、実稼働のコードではありませんが、さまざまな変換の可能性を効果的に示しています。
ソースディレクトリには、Jupyterノートブック(.ipynb)、Pythonスクリプト(.py)、テキストファイルを置くことができます。SMA はコードベース内のすべてのファイルを調査しますが、Python(.py)ファイルとJupyterノートブック(.ipynb)ファイル内のSpark API 参照のみを検索します。