Snowpark Migration Accelerator:SMA CLI 演练教程

Snowpark Migration Accelerator (SMA) 可帮助开发者将 Python 或 Scala Spark 代码迁移到 Snowpark。它会分析代码并执行以下操作:

  1. 评估与 Snowpark 的兼容性

  2. 自动将兼容的 Spark API 调用转换为 Snowpark API

  3. 识别无法自动转换的代码

  4. 创建从脚本和笔记本导入的第三方库清单

  5. 生成可编辑的兼容性报告,对比 Spark 和 Snowpark 代码

Snowflake 发布了适用于 Snowpark Migration Accelerator (SMA) 的命令行界面 (CLI)。本指南将演示如何单独使用 CLI 以及如何在脚本中使用它。

使用 CLI

您可以从 下载和访问部分 下载命令行界面 (CLI)。选择与您操作系统匹配的版本。您可以将 CLI 存储在计算机或容器上任何可访问的位置。

备注

NOTE:虽然本次演练使用的是来自 Mac 计算机的屏幕截图,但 Windows 和 Linux 用户的过程与之类似。

下载包文件(zip 或 .tar 格式)后,提取其内容。命令行界面 (CLI) 工具位于解压缩后文件的“orchestrator”文件夹中。

Orchestrator 目录中的 SMACLI

在安装文件夹中打开终端或命令提示符,然后运行以下命令检查其版本来验证 CLI 安装:

./sma --version

您会看到如下所示的结果:

SMA 版本信息

SMA 命令行界面 (CLI) 是在您计算机上运行的本地应用程序,类似于 SMA 桌面应用程序。要使用 SMA CLI 分析代码文件,这些文件必须存储在本地计算机上,这样 CLI 才可以访问它们。CLI 支持的文件类型与常规 SMA 应用程序一致。有关支持文件类型的完整列表,请参阅 SMA 文档中支持的文件类型

备注

NOTE:要测试 CLI 功能,您可使用 评估 部分中提供的示例代码库,或参阅 SMA 文档中的转换演练教程。

SMA 文档包含 CLI 实参的完整列表。接下来让我们来探讨本部分中最重要的内容。

默认情况下,SMA CLI 以 转换模式 运行,而非 评估模式。要在评估模式下运行 CLI,请使用 -a 实参。执行转换操作时,需要有效的访问码。要验证您是否拥有有效的访问码,请使用以下命令:

./sma show-ac
Copy

许可证信息

如果您需要访问码,可以按照 SMA 文档中的说明 进行申请。当您通过电子邮件收到访问码后,请在 CLI 中使用 安装访问码 参数以完成安装。

要运行转换,您需要提供以下信息:

  1. 输入目录(必填)

  2. 输出目录(必填)

如果您之前未创建过项目文件,则还需提供:

  • 用户邮箱

  • 组织名称

  • 项目名称

首次设置这些参数后,以后运行转换时只需指定输入目录和输出目录即可。

./sma -i '/your/INput/directory/path/here' -o '/your/OUTput/directory/path/here' -e your@email.com -c Your-Organization -p Your-Project-Name
Copy

此屏幕显示您的执行设置摘要,并提示您确认是否继续。

项目信息部分

要跳过确认提示,请添加 --yes 或 -y 参数。当使用自动脚本运行 CLI 时,这一点尤其重要。

该工具在执行过程中会提供详细的进度信息。

项目信息已打印

该工具运行时,它会持续将输出信息打印到屏幕上。该过程完成后,您将再次看到提示。该工具生成详细的输出信息,包括所有流程、问题以及已完成或失败的步骤。无需在运行时通读所有这些信息,因为可以稍后在 “Logs output”文件夹 中查看。

查看输出

SMACLI 生成的输出与 SMA 应用程序相同。运行该工具时,它会在您指定的输出目录中创建三个文件夹:

  • 报告

  • Logs

  • Output(包含转换后的代码)

来自 SMA 的输出目录

更多关于如何处理由 Snowpark Migration Accelerator (SMA) 转换的代码的详细指南,请参阅 转换演练教程

以编程方式运行 CLI

即将推出!SMA 团队将提供一个脚本,使您能够跨多个目录自动运行 SMA 命令行界面 (CLI)。


立即试用命令行界面 (CLI)。如需帮助或有任何疑问,请通过以下方式联系 Snowpark Migration Accelerator 团队:sma-support@snowflake.com

语言: 中文