Snowpark Migration Accelerator: SMA の再実行

ツールの限界を示すために、あまり適していないワークロードを分析してみましょう。移行に理想的な候補ではない可能性のあるコードベースでツールを実行します。

セカンドコードベースでの実行

どちらの方法でもツールを再実行できます。

  • Snowpark Migration Accelerator(SMA)を一旦終了し、再度開きます。以前に作成したプロジェクトを開くか、新しいプロジェクトを作成することができます。

  • アプリケーションウィンドウの下部にある「RETRY ASSESSMENT」ボタンをクリックします。

評価を再試行

このラボでは、最初のオプションを選択します。SMA アプリケーションを終了し、「ツールの実行」セクションの前のステップを繰り返します。今回は、入力フォルダーを選択する際に、「needs_more_analysis」コードベースが含まれるディレクトリを選択します。

同じステップを繰り返すと、「分析完了」画面に戻ります。このとき、結果パネルに別のメッセージが表示されます。

詳細分析出力画面

準備完了スコアが低くても(60%未満)、ワークロードが自動的に移行対象から外れるわけではありません。適切な評価を下すためには、さらなる分析が必要です。先ほどの例と同じように、最終的な決断を下す前に評価する必要のある要素が他にもいくつかあります。

考慮事項

「さらに分析が必要」という結果を確認するときは、以前、3つのキーファクター、すなわち、レディネススコア、コードベースサイズ、サードパーティインポートに基づいて、成功した移行を評価したことを思い出してください。さらに分析が必要な場合について、これらと同じ要素を検証してみましょう。

分析できなかった可能性があるコード:

解析エラー(ツールが入力コードを理解できないエラー)が多発する場合は、レディネススコアが低くなります。コードに見慣れないパターンが含まれている可能性もありますが、エクスポートされたコードに問題があるか、コードが元のプラットフォームで有効でない可能性が高いと考えられます。

ツールは精度情報を複数の方法で表示します。最も簡単な方法は、レポートの最初のページにある概要セクションに表示されている誤差の範囲を確認することです。

誤差の範囲

解析エラーの割合が高い(5%以上)場合は、以下のステップに従います。

  1. ソースコードが元のプラットフォームで正しく動作することを検証します

  2. Snowpark Migration Acceleratorチームに連絡し、解析エラーの原因を特定します

コードに解析の問題があるかどうかを確認するには、レポートの最後にあるSnowpark Migration Accelerator問題の概要を確認します。エラーコード SPRKPY1001 には特に注意を払います。このエラーがファイルの5%以上に表示される場合は、一部のコードが解析できないことを示しています。まず、問題のあるコードがご自身のソース環境で動作することを検証します。正しく動作する場合は、サポートのためにSnowpark Migration Acceleratorチームにお問い合わせください。

サポートされていないSparkライブラリ

スコアが低い場合は、Snowparkがまだサポートしていない関数がコードベースに含まれていることを示します。Spark ML、 MLlib、またはストリーミング関数のインスタンスが多くある場合は特に注意してください。これらは、コード内の機械学習とストリーミング操作の主要なインジケーターです。現在、Snowparkではこれらの機能のサポートに制限があるため、移行計画に影響が出る可能性があります。

サイズ

移行スコアが低いからといって、必ずしも複雑な移行を示すとは限りません。コードベースのコンテキストを考慮します。たとえば、スコアが20%であっても、100行のコードで参照が5つしかない場合、これは小容量で管理可能なプロジェクトであり、最小限の労力で手作業で移行できます。

コードベースが大容量(10万行以上)で、Spark参照が数行しかない場合、コードの一部では変換する必要がない可能性があります。これには、ご自身の組織が作成したカスタムライブラリも含まれます。そのようなの場合は、変換が必要なコードを決定するために追加の分析が必要になります。

この例は、扱いやすいサイズです。プロジェクトのファイル数は150個で、そのほとんどがSpark API 参照で、コード行数は1,000行未満です。

概要

この例では、サードパーティライブラリやサイズの不一致の問題ではなく、Sparkのml、mllib、ストリーミングライブラリを広範囲に使用しているため、レディネススコアが低くなっています。このような複雑性を考慮し、次をお勧めします。

  1. ガイダンスについて、 sma-support@snowflake.com に問い合わせます

  2. Spark移行に関するSnowflake Communityフォーラム に質問を投稿します

これらのリソースは、特定の業務量における課題をよりよく理解するのに役立ちます。