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 Readiness Score¶
The Snowpark Connect Readiness Score will look something like this:

Readiness Score - It will show you the readiness score you obtained. The Snowpark Connect readiness score indicates the proportion of Spark API references that are supported by Snowpark Connect. This score is calculated by dividing the number of supported Spark API references by the total Spark API references. You can learn more about this score in the Snowpark Connect Readiness Score section.
Score Explanation - An explanation of what the Snowpark Connect Readiness score is and how to interpret it.
Next Steps - Depending on the readiness score obtained, the SMA will advise you on what actions you should take before proceeding to the next step.
Score Breakdown - A detailed explanation of how the Snowpark Connect Readiness Score was calculated. In this case, it will show you the number of Spark API references supported by Snowpark Connect divided by the total number of Spark API references.
Supported Usages refers to the number of Spark API references in a workload that are supported by Snowpark Connect. In contrast, identified usages represents the total count of Spark API references found within that workload.
Spark API 使用情况¶
危险
自版本 2.0.2 起,Spark API 使用情况部分已被弃用。您现在可以找到:
详细报告 中的 Spark API 使用情况摘要
Spark API 使用情况清单 中所有 Spark API 使用实例的完整列表
该报告包含三个主要部分,以选项卡形式显示:
总体使用情况分类
Spark API 使用情况分类
按状态划分的 Spark API 使用情况
我们将在下面详细研究每个部分。
总体使用情况分类¶
此选项卡显示一个包含三行的表格,其中显示:
支持的操作
不支持的操作
总体使用情况统计信息

以下部分提供了其他详细信息:
使用次数 – 您的代码中引用 Spark API 函数的总次数。每次引用都被归类为支持或不支持,总数显示在底部。
至少使用 1 次的文件 – 包含至少一个 Spark API 引用的文件数量。如果此数字小于您的文件总数,则表示某些文件根本不使用 Spark API。
所有文件的百分比 – 显示文件的哪一部分使用 Spark API。计算方法是将使用 Spark API 的文件数除以代码文件总数(以百分比表示)。
Spark API 使用情况分类¶
此选项卡显示在您的代码库中检测到的不同类型的 Spark 引用。它显示了总体就绪度分数(与页面顶部显示的分数相同),并按类别详细列出了该分数。

您可以在 Spark 引用类别 部分找到所有可用的分类。
按状态划分的 Spark API 使用情况¶
最后一个选项卡显示按映射状态组织的分类细分。

SMA 工具使用七种主要映射状态,用于指示 Spark 代码转换为 Snowpark 的顺畅程度。有关这些状态的详细信息,请参阅 Spark 引用类别 部分。
导入调用¶
危险
自版本 2.0.2 起,导入调用 部分已移除。您现在可以找到:
详细报告 中的导入语句摘要
[导入使用情况清单] (output-reports/sma-inventories.md) 中所有导入调用的完整列表
“导入调用”部分显示代码库中常用的外部库导入。请注意,Spark API 导入已在“Spark API”部分中单独介绍,因此本部分不包含相关内容。

此表包含以下信息:
该报告显示以下信息:
一个包含 5 行的表显示:
最常导入的 3 个 Python 库
汇总所有剩余包的“其他”行
显示所有导入总和的“总计”行
“在 Snowpark 中支持”列,用以指示每个库是否包含在 Snowflake 的 Snowpark 支持的包列表 (https://repo.anaconda.com/pkgs/snowflake/) 中。
“导入次数”列,显示每个库在所有文件中导入的次数。
“文件覆盖范围”列,显示包含每个库至少一次导入的文件百分比。例如:
如果“sys”在导入语句中出现 29 次,但仅在 28.16% 的文件中使用,则表明它通常在每个使用它的文件中导入一次。
“其他”类别可能显示在 100% 的文件中导入 56 次。
有关每个文件的详细导入信息,请参阅 输出报告 中的 ImportUsagesInventory.csv 文件。
文件摘要¶
摘要报告包含多个表,这些表显示了按文件类型和大小组织的指标。这些指标可用于深入了解代码库的容量,并帮助估计迁移项目所需的工作量。
Snowpark Migration Accelerator 会分析源代码库中的所有文件,包括代码和非代码文件。您可以在 files.csv 报告中找到有关扫描文件的详细信息。
文件摘要包含多个部分。让我们详细研究每个部分。
文件类型摘要¶
文件类型摘要显示在扫描的代码存储库中找到的所有文件扩展名的列表。

列出的文件扩展名指示 SMA 可以分析哪些类型的代码文件。您在每个文件扩展名中可找到以下信息:
代码行 – 具有此扩展名的所有文件中的可执行代码行总数。此计数不包括注释和空行。
文件数量 – 使用此扩展名找到的文件总数。
占文件总数的百分比 – 带有此扩展名的文件在项目中的所有文件中所占的百分比。
要分析您的工作负载,您可以轻松确定它是否主要由脚本文件(例如 Python 或 R)、笔记本文件(如 Jupyter 笔记本)或 SQL 文件组成。此信息有助于确定项目中代码文件的主要类型。
按语言划分的笔记本大小¶
该工具会评估代码库中的笔记本,并根据它们包含的代码行数为它们分配“T 恤”尺寸(S、M、L、XL)。这种尺寸有助于估计每个笔记本的复杂性和范围。

笔记本的大小根据每个笔记本中使用的主要编程语言进行分类。
按语言划分的笔记本统计数据¶
此表按编程语言显示了所有笔记本中代码行和单元格的总数。

这些笔记本按其中使用的主要编程语言进行组织。
代码文件内容¶
运行 SMA 时,选项卡名称将根据您的源语言而变更:
对于 Python 源文件,该选项卡将显示“Python File Content”
对于 Scala 源文件,该选项卡将显示“Scala File Content”
此行显示了有多少文件包含 Spark API 引用。“Spark 使用情况”行显示:
使用 Spark APIs 的文件数量
这些文件在分析的代码库文件总数中所占的百分比

此指标有助于确定不包含 Spark API 引用的文件百分比。较低的百分比表明许多代码文件缺乏 Spark 依赖关系,这可能意味着迁移工作量可能小于最初估计值。
代码文件大小¶
“File Sizing”选项卡的名称根据您的源语言而变更:
对于 Python 源文件,它显示为“Python File Sizing”
对于 Scala 源文件,它显示为“Scala File Sizing”
代码库文件使用“T 恤”大小(S、M、L、XL)进行分类。每种大小都有在“大小”列中描述的特定标准。该表还显示了所有 Python 文件中属于每个大小类别的百分比。

了解代码库中的文件大小分布有助于评估工作负载的复杂性。较高比例的小文件通常表示工作负载更简单、复杂程度较低。
问题摘要¶
问题摘要提供有关代码扫描期间发现的潜在问题的重要信息。从评估过渡到转换时,您将看到在代码库中检测到的 EWIs(错误、警告和问题)列表。有关这些问题的详细说明,请参阅文档中的“问题分析”部分。

在问题摘要的顶部,您会看到一个表,其中概述了所有已发现的问题。

该表包含两行。
“问题数量”代表每个类别中找到的所有问题代码的总数。
“独特问题数量”表示在每个类别中发现的不同错误代码的数量。
这些问题分为三个主要类别:
警告 表明源平台和目标平台之间的潜在差异,可能不需要立即采取措施,但应在测试期间考虑这些差异。其中可能包括针对边缘用例的细微行为差异,或者关于相较于原平台外观变化的通知。
转换问题 突出显示了无法转换或需要额外配置才能在目标平台上正常运行的元素。
当工具无法解释特定的代码元素时,就会出现 解析问题。这些都是需要立即关注的关键问题,通常是由未编译的源代码或错误的代码提取引起的。如果您认为源代码正确但仍收到解析错误,则可能是由于 SMA 中无法识别的模式所致。在这种情况下,请 报告问题,并包括有问题的源代码部分。
该表汇总了每个项目的总数。
在此表下方,您将找到唯一问题代码及其描述的列表。

每个问题代码条目都提供:
唯一的问题标识符
问题描述
出现次数
严重性级别(警告、转换错误或解析错误)
您可以点击任何问题代码来查看详细文档,其中包括:
问题的完整描述
示例代码
推荐的解决方案
例如,点击上面显示的第一个问题代码 (SPRKPY1002) 将带您进入其专用文档页面。
默认情况下,该表仅显示前 5 个问题。要查看所有问题,请单击表格下方的 SHOW ALL ISSUES 按钮。您也可以使用表格上方的搜索栏来查找特定问题。
在评估模式中,了解剩余的转换工作至关重要。您可以在 报告文件夹 的问题清单中找到有关每个问题及其位置的详细信息。
执行摘要¶
执行摘要全面概述了该工具的最新分析。它包括:
代码分析分数
用户详细信息
唯一执行 ID
SMA 和 Snowpark API 的版本信息
在 项目创建 期间指定的项目文件夹位置

附录¶
附录包含其他参考信息,可以帮助您更好地理解 SMA 工具生成的输出。

本指南包含有关使用 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.

重试评估 – 您可以通过点击“Assessment Results”页面上的 Retry Assessment 按钮再次运行评估。这在您更改源代码并希望查看更新的结果时非常有用。
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 引用清单以及对源代码库的其他分析。本文档详细说明了每种报告类型。
以下页面提供有关该工具每次运行时生成的报告的详细信息。