Snowpark Migration Accelerator: 在 Jupyter 笔记本中使用 SMA

我可以在工具中使用 Python 笔记本(.ipynb 文件)吗?

!将笔记本文件 (.ipynb) 放在您选择作为工具输入的源目录中。笔记本可以位于该目录中的任何子文件夹中。可以在源目录或其子文件夹中同时包含 Python 文件 (.py) 和笔记本文件 (.ipynb)。该工具将处理所有兼容文件,无论文件在目录结构中的位置如何。

将笔记本文件 (.ipynb) 转换为 Python (.py) 文件有几个优点:

  1. 更好的版本控制:Python 文件更容易在 Git 等版本控制系统中跟踪更改和管理

  2. 改善协作:团队成员可以更有效地查看和编辑标准 Python 文件中的代码

  3. 更轻松的自动化:Python 文件可以直接在自动管道和计划任务中执行

  4. 更简洁的代码组织:Python 文件鼓励更好的代码结构和模块化

  5. 减小了文件大小:Python 文件通常比包含额外元数据的笔记本文件小

您有两个选择:

  1. 如果您打算继续以笔记本格式使用,请保持原样。SMA 可以直接分析和转换笔记本。

  2. 如果您想停止使用笔记本,请将 Python 代码提取到 .py 文件中。尽管这可以通过替代方案实现,但没有必要,因为 SMA 可以处理笔记本和 Python 文件。

要仅从 Jupyter 笔记本文件中提取 Python 代码,可以使用 nbconvert 实用工具。方法如下:

  1. 使用以下命令之一安装 nbconvert (https://pypi.org/project/nbconvert/) 包:

    • 对于 Windows/Linux:pip install nbconvert

    • 对于 MacOS:pip3 install nbconvertpython3 -m pip install nbconvert

  2. 创建 Jupyter 笔记本目录的备份副本

  3. 使用命令行将所有 Jupyter 笔记本转换为 Python 脚本:

    • 对于 Windows/Linux:find /path/to/folder/with/notebooks -name '*.ipynb' | xargs python -m nbconvert --to script

    • 对于 MacOS:find /path/to/folder/with/notebooks -name '*.ipynb' | xargs python3 -m nbconvert --to script

    这将在与笔记本相同的目录中创建 Python 脚本文件。

  4. 通过在输出目录上运行 SMA for Python 来处理转换后的 Python 文件。

语言: 中文