Snowpark Migration Accelerator: 評価の概要の理解

After running an assessment, you can view the initial results and summary in the Assessment Summary Report.

Keep in mind that this report summarizes the information from the inventory files created in the Output Reports folder during the SMA execution. For a comprehensive analysis, please review the Detailed Report in the output directory.

アプリケーションの「評価の結果」セクションにはいくつかのコンテナーが含まれています。

標準評価概要

概要は以下のように表示されます。

評価の概要

In the top-right corner of the report, the Execution date indicates when the analysis was run.

Snowpark Connectレディネススコア

Snowpark Connectレディネススコアは次のようになります。

Snowpark Connectレディネススコア

  1. レディネススコア - 取得したレディネススコアを表示します。Snowpark Connectレディネススコアは、Snowpark ConnectでサポートされているSpark API 参照の割合を示します。このスコアは、サポートされているSpark API 参照の数をSpark API 参照の合計で割ることによって計算されます。このスコアの詳細については、 Snowpark Connectレディネススコア セクションをご参照ください。

  2. スコアの説明 - Snowpark Connectレディネススコアと、その解釈方法の説明。

  3. 次のステップ - 取得したレディネススコアに応じて、 SMA は、次のステップに進む前にどのようなアクションを実行する必要があるかを示します。

  4. スコアの内訳 - Snowpark Connectレディネススコアがどのように計算されたかの詳細な説明。この場合、Snowpark ConnectでサポートされているSpark API 参照の数を、Spark API 参照の合計数で割ったものが表示されます。

サポートされている使用状況 は、Snowpark ConnectでサポートされているワークロードのSpark API 参照の数を参照します。対照的に、 特定された使用状況 はそのワークロード内で見つかったSpark API 参照の合計数を表します。

Spark API 使用状況

危険

Spark API 使用状況 セクションは、バージョン 2.0.2 以降廃止されました。現在、以下があります。

レポートには3つの主要セクションがタブとして表示されます。

  1. 全体の使用分類

  2. Spark API 使用状況カテゴリ分類

  3. ステータス別Spark API 使用状況

以下、各セクションについて詳しく見ていきましょう。

全体の使用分類

このタブには3行のコンテナーが表示されます。

  • サポートされている操作

  • サポートされていない操作

  • 使用合計の統計

全体の使用分類

詳細は以下のセクションをご参照ください。

  1. 使用カウント - Spark API 関数がコード内で参照された回数の合計。各参照は「サポートあり」「サポートなし」に分類され、合計が下部に表示されます。

  2. 最低1回使用されたファイル - Spark API 参照を1つ以上含むファイルの数。この数がファイルの合計数より少ない場合は、Spark API をまったく使用していないファイルがあることを意味します。

  3. すべてのファイルの割合 - Spark API を使用しているファイルの割合が表示されます。これは、Spark API を使用しているファイルの数をコードファイルの合計数で割ったもので、パーセントで表されます。

Spark API 使用状況カテゴリ分類

このタブには、コードベースで検出されたさまざまなタイプのSpark参照が表示されます。全体のレディネススコア(ページ上部に表示されているスコアと同じもの)が表示され、カテゴリ別の詳細な内訳が表示されます。

Spark API 使用状況カテゴリ分類

Spark参照カテゴリ セクションに、利用可能なすべてのカテゴリ分類があります。

ステータス別Spark API 使用状況

最後のタブには、マッピングステータス別に分類された内訳が表示されます。

Spark API ステータス別使用状況

SMA ツールでは、SparkコードをSnowparkに変換できる度合いを示す7つの主なマッピングステータスを使用します。これらのステータスの詳細情報については、 Spark参照カテゴリ セクションをご参照ください。

インポート呼び出し

危険

インポート呼び出し セクションは、バージョン 2.0.2 以降削除されました。現在、以下があります。

「インポート呼び出し」セクションには、コードベースで頻繁に使用される外部ライブラリのインポートが表示されます。Spark API のインポートについては、「Spark API」のセクションで個別に説明されているため、このセクションからは除外されていることに注意してください。

インポート呼び出し

このテーブルには以下の情報が含まれています。

レポートには以下の情報が表示されます。

  1. 5行があるテーブルには以下が表示されます。

    • 最も頻繁にインポートされる3つのPythonライブラリ

    • 残りのパッケージをまとめた「Other」の行

    • すべてのインポートの合計を示す「Total」行

  2. 各ライブラリがSnowflakeの Snowparkでサポートされているパッケージのリスト に含まれているかどうかを示す「Supported in Snowpark」列。

  3. 「Import Count」列は、各ライブラリが全ファイルで何回インポートされたかを示します。

  4. 各ライブラリのインポートを少なくとも1つ含むファイルの割合を示す「File Coverage」列。例:

    • 「sys」がインポートステートメントに29回登場し、28.16%のファイルでしか使用されていない場合、「sys」は通常、使用されるファイルごとに1回インポートされることを示唆しています。

    • 「Other」カテゴリでは、ファイルの100%で56件のインポートが発生している可能性があります。

ファイルごとの詳細なインポート情報については、 出力レポート の ImportUsagesInventory.csvファイルをご参照ください。

ファイルの概要

危険

ファイルの概要 セクションは、バージョン 2.0.2 以降削除されました。現在、以下があります。

概要レポートには、ファイルタイプとサイズ別に整理されたメトリクスを表示する複数のテーブルが含まれています。これらのメトリクスは、コードベースの量に関する洞察を提供し、移行プロジェクトに必要な労力を見積もるのに役立ちます。

Snowpark Migration Acceleratorは、コードファイルと非コードファイルの両方を含む、ソースコードベースのすべてのファイルを分析します。スキャンされたファイルの詳細情報は、 files.csv レポートをご覧ください。

ファイルの概要には複数のセクションがあります。各セクションを詳しく見ていきましょう。

ファイルタイプの概要

ファイルタイプの概要には、スキャンしたコードリポジトリで見つかったすべてのファイル拡張子のリストが表示されます。

ファイルタイプの概要

リストされているファイル拡張子は、 SMA が分析できるコードファイルのタイプを示しています。各ファイル拡張子には、以下の情報があります。

  • コード行数 - この拡張子を持つ全ファイルの実行可能コード行数の合計。このカウントはコメントと空行を除きます。

  • ファイルカウント - この拡張子を持つファイルの合計数。

  • ファイル合計のパーセント - プロジェクト内の全ファイルのうち、この拡張子を持つファイルが占める割合。

ワークロードを分析するには、主にスクリプトファイル(PythonやRなど)で構成されているのか、ノートブックファイル(Jupyterノートブックなど)で構成されているのか、 SQL ファイルで構成されているのかを簡単に識別します。この情報は、プロジェクト内の主なコードファイルのタイプを判断するのに役立ちます。

言語別ノートブックサイズ

このツールは、コードベース内のノートブックを評価し、コード行数に基づいて「Tシャツ」のサイズ(S、M、L、 XL)を割り当てます。このサイズは、各ノートブックの複雑さと範囲を見積もるのに役立ちます。

言語別ノートブックサイズ

ノートブックサイズは、各ノートブックで使用されている主なプログラミング言語によって分類されています。

言語別ノートブック統計

この表は、すべてのノートブックのコード行数とセル数の合計を、プログラミング言語別に整理して表示します。

言語別ノートブック統計

これらのノートブックは、その中で使われている主要なプログラミング言語ごとに整理されています。

コードファイルのコンテンツ

SMA を実行すると、ソース言語に応じてタブ名が変更されます。

  • Pythonソースファイルの場合、タブには「Pythonファイルコンテンツ」と表示されます。

  • Scalaソースファイルの場合、タブには「Scalaファイルコンテンツ」と表示されます。

この行は、Spark API 参照を含むファイルの数を示しています。「Spark使用状況」の行が表示されます。

  1. Spark APIs を使用するファイルの数

  2. 分析されたコードベースファイル全体に占めるこれらのファイルの割合

コードファイルのコンテンツ

このメトリックは、Spark API 参照が含まれていないファイルの割合を特定するのに役立ちます。パーセントが低いということは、多くのコードファイルにSpark依存関係がないことを示唆しており、移行の労力が当初の見積もりよりも小さくなる可能性があります。

コードファイルのサイズ

「ファイルサイズ」タブの名前は、ソース言語によって変わります。

  • Pythonソースファイルの場合は、「Pythonファイルサイズ」と表示されます。

  • Scalaソースファイルの場合は「Scalaファイルサイズ」と表示されます。

コードベースファイルは「Tシャツ」のサイズ(S、M、L、XL)で分類されています。各サイズには、「サイズ」列に記載されている特定の基準があります。このテーブルは、Pythonファイル全体の何パーセントが各サイズカテゴリに該当するかも示しています。

コードファイルサイズ

コードベースのファイルサイズ分布を把握することは、ワークロードの複雑さを評価するのに役立ちます。小容量のファイルの割合が高いということは、一般的に、作業負荷が単純で複雑ではないことを意味します。

問題の概要

問題の概要は、コードスキャン中に見つかった潜在的な問題に関する重要な情報を提供します。評価から変換に移行すると、コードベースで検出された EWIs (エラー、警告、問題)のリストが表示されます。これらの問題の詳細については、ドキュメントの「問題の分析」セクションをご参照ください。

問題の概要

問題の概要の上部には、識別されたすべての問題の概要を示すテーブルがあります。

問題の概要 - 概要テーブル

テーブルには2行あります。

  • 「問題の数」は、各カテゴリで見つかったすべての問題コードの合計数を表します。

  • 「一意の問題の数」は、各カテゴリで見つかったエラーコードの数を表しています。

問題は大きく3つのカテゴリに分けられます。

  • 警告 は、ソースプラットフォームとターゲットプラットフォーム間の潜在的な差異を示し、直ちにアクションを起こす必要はないかもしれませんが、テスト中に考慮する必要があります。これには、エッジケースに対する動作のわずかな変化や、ソースプラットフォームと比較した外観の変更に関する通知などが含まれます。

  • 変換の問題 は、変換に失敗した、またはターゲットプラットフォームで適切に動作するために追加構成が必要な要素を強調表示します。

  • 解析の問題 は、ツールが特定のコード要素を解釈できない場合に発生します。これらは、早急な対応が必要な重大な問題であり、通常、ソースコードの非コンパイルや不正確なコード抽出が原因です。ソースコードが正しいと思われても改正エラーが発生する場合は、 SMA のパターンが認識されていない可能性があります。そのような場合は、 問題を報告 し、問題のあるソースコード部分を含めてください。

テーブルは各アイテムの合計数をまとめたものです。

このテーブルの下に、固有の問題コードとその説明のリストがあります。

問題の概要 - 問題コードテーブル

各問題コードエントリは以下を提供します。

  • 一意の問題識別子

  • 問題の説明

  • 発生回数

  • 重大度レベル(警告、変換エラー、解析エラー)

問題コードをクリックすると、以下のような詳細ドキュメントを表示できます。

  • 問題の包括的な説明

  • コード例

  • 推奨ソリューション

たとえば、上記の最初の問題コード(SPRKPY1002)をクリックすると、その問題専用のドキュメントページが表示されます。

デフォルトでは、上位5件のみが表示されます。すべての問題を表示するには、テーブルの下にある SHOW ALL ISSUES ボタンをクリックします。また、テーブルの上にある検索バーを使って特定の問題を検索することもできます。

評価モードでは、残りの変換作業を理解することが重要です。Reportsフォルダー 内の問題インベントリで、各問題の詳細情報とその場所を確認できます。

実行の概要

実行の概要は、ツールによる最近の分析の包括的な概要を提供します。説明には次が含まれます。

  • コード分析スコア

  • ユーザーの詳細

  • 一意の実行 ID

  • SMA とSnowpark API 両方のバージョン情報

  • プロジェクト作成 時に指定したプロジェクトフォルダーの場所

実行の概要

付録

付録には、 SMA ツールが生成する出力をより理解するのに役立つ追加参照情報が含まれています。

画像 (512).png

このガイドには、Snowpark Migration Accelerator(SMA)の使用に関する一般的な参照情報が記載されています。コンテンツは定期的に更新される可能性がありますが、特定のコードベースに関する詳細ではなく、普遍的な SMA の使用に重点を置いています。


Snowpark Migration Accelerator(SMA)を実行すると、ほとんどのユーザーにこのような画面が表示されます。古いバージョンを使用している場合は、代わりに以下のような省略された評価の概要が表示される可能性があります。

省略された評価の概要 [廃止]

レディネススコアが低いと、移行の概要は以下のように表示される場合があります。

評価の概要

この概要には以下の情報が含まれています。

  • 実行日: 分析がいつ実行されたかを示します。このプロジェクトの過去の実行結果を表示できます。

  • 結果: レディネススコア に基づいて、ワークロードが移行に適しているかどうかを示します。レディネススコアは予備評価ツールであり、移行の成功を保証するものではありません。

  • 入力フォルダー: 分析されたソースファイルの場所。

  • 出力フォルダー: 分析レポートと変換されたコードファイルが格納される場所。

  • ファイル合計: 分析されたファイルの数。

  • 実行の時間: 分析プロセスの実行時間。

  • 識別されたSpark参照: コード内で見つかったSpark API 呼び出しの数。

  • Python(またはScala)ファイルのカウント: 指定されたプログラミング言語のソースコードファイルの数。


次のステップ

The application provides several additional features, which can be accessed through the interface shown in the image below.

  • 評価を再試行 - 評価結果ページの 評価を再試行 ボタンをクリックして、評価を再実行することができます。これは、ソースコードに変更を加え、更新された結果を表示する場合に便利です。

  • Convert to the Snowpark API - While this may seem like the next logical step, it's important to review the assessment results thoroughly before proceeding. For more information, see the conversion section of this documentation.

  • レポートを表示 - 評価出力レポートを含むフォルダーを開きます。これには、詳細な評価レポート、Spark参照インベントリ、ソースコードベースのその他の分析が含まれます。各レポートタイプについては、このドキュメントで詳しく説明しています。

次のページでは、ツールを実行するたびに生成されるレポートの詳細情報を提供します。