在 Azure 机器学习中设置带有 Azure Databricks 和 AutoML 的开发环境

重要

本文提供有关使用 Azure 机器学习 SDK v1 的信息。 SDK v1 自 2025 年 3 月 31 日起弃用。 对它的支持将于 2026 年 6 月 30 日结束。 可以在该日期之前安装和使用 SDK v1。 使用 SDK v1 的现有工作流将在支持结束日期后继续运行。 但是,在产品发生体系结构更改时,可能会面临安全风险或中断性变更。

建议在 2026 年 6 月 30 日之前过渡到 SDK v2。 有关 SDK v2 的详细信息,请参阅 什么是 Azure 机器学习 CLI 和 Python SDK v2? 以及 SDK v2 参考

了解如何在使用 Azure Databricks 和自动化 ML 的 Azure 机器学习中配置开发环境。

Azure Databricks非常适合用于在 Azure 云中可缩放的 Apache Spark 平台上运行大规模的密集型机器学习工作流。 它为基于笔记本的协作环境提供基于 CPU 或基于 GPU 的计算资源。

有关其他机器学习开发环境的信息,请参阅设置 Python 开发环境

先决条件

Azure 机器学习工作区。 若要创建一个,请使用创建工作区资源一文中的步骤。

Azure Databricks 与 Azure 机器学习和 AutoML

Azure Databricks 与 Azure 机器学习及其 AutoML 功能集成。

使用 Azure Databricks 来:

  • 使用 Spark MLlib 训练模型,并将模型部署到 ACI 或 AKS。 (注意:通过 SDK v1 进行 ACI 和 AKS 部署属于旧版。对于新部署,请使用 SDK v2 的托管在线端点。)
  • 将 Azure 机器学习 SDK 与 自动化机器学习 功能配合使用。
  • 充当 Azure 机器学习管道中的计算目标。

设置 Databricks 计算

创建 Databricks 计算资源。 仅当在 Databricks 上安装适用于自动化机器学习的 SDK 时,某些设置才适用。

创建计算资源需要几分钟时间。

使用这些设置:

设置 适用于 价值
计算名称 始终 你的计算机名称
Databricks Runtime 版本 始终 14.3 LTS
Python 版本 始终 3
工人类型
(确定最大并发迭代数)
自动化机器学习
仅限
首选内存优化的 VM
工作人员 始终 2 或更高版本
启用自动缩放 自动化机器学习
仅限
取消选中

等待计算运行,然后再继续。

将 Azure 机器学习 SDK 添加到 Databricks

计算运行后,请创建一个库用于将相应的 Azure 机器学习 SDK 包附加到计算。

若要使用自动化 ML,请跳到添加带有 AutoML 的 Azure 机器学习 SDK

  1. 右键单击用于存储该库的当前工作区文件夹。 选择创建>

    小窍门

    如果使用的是旧版 SDK,请从计算的已安装库中取消选择该版本,并将其移到回收站中。 安装新的 SDK 版本并重启计算。 如果重启后出现问题,请分离并重新附加计算。

  2. 选择以下选项(不支持任何其他 SDK 安装)

    SDK 程序包附加信息 来源 PyPi 名称
    对于 Databricks 上传 Python Egg 或 PyPI azureml-sdk[databricks]

    警告

    无法安装其他 SDK 附加项。 仅选择 [databricks] 选项。

    • 不要选择“自动附加到所有计算”。
    • 选择计算名称旁边的“附加”。
  3. 监视错误,直到状态更改为“已附加”。这可能需要几分钟时间。 如果此步骤失败:

    请尝试通过以下操作重启计算:

    1. 在左侧窗格中,选择“计算”
    2. 在表中选择你的计算机名称。
    3. 在“库”选项卡上,选择“重启”。

    成功的安装将在状态栏下显示“已安装”

将带有 AutoML 的 Azure 机器学习 SDK 添加到 Databricks

如果使用标准 Databricks Runtime(而不是 ML)创建计算,请在笔记本的第一个单元中运行以下命令以安装 Azure 机器学习 SDK。

%pip install --upgrade --force-reinstall -r https://aka.ms/automl_linux_requirements.txt

AutoML 配置设置

在 AutoML 配置中使用 Azure Databricks 时,添加以下参数:

  • max_concurrent_iterations 基于计算中的工作器节点数。
  • spark_context=sc 基于默认的 Spark 上下文。

适用于 Azure Databricks 的 ML 笔记本

尝试以下操作:

  • 尽管有许多示例笔记本可用,但只有这些示例笔记本适用于 Azure Databricks。

  • 直接从工作区导入这些示例:

    1. 在工作区中,右键单击一个文件夹,然后选择“导入”
    2. 指定 URL 或浏览到一个包含受支持的外部格式的文件或一个从 Databricks 工作区导出的笔记本的 ZIP 存档。
    3. 选择“导入” 。
  • 了解如何创建包含 Databricks 的管道用作训练计算

故障排除

  • Databricks 取消自动化机器学习运行:在 Azure Databricks 上使用自动化机器学习功能时,若要取消某个运行并启动新的试验运行,请重启 Azure Databricks 计算

  • Databricks 自动化机器学习的迭代数超过 10 个: 在自动化机器学习设置中,如果迭代数超过 10 个,请在提交运行时将 > 设置为 show_output

  • Databricks Azure 机器学习 SDK 和自动化机器学习的小组件: Databricks 笔记本不支持 Azure 机器学习 SDK 小组件,因为该笔记本无法分析 HTML 小组件。 可以通过在 Azure Databricks 笔记本单元中使用以下 Python 代码,在门户中查看该小组件:

    displayHTML("<a href={} target='_blank'>Azure portal: {}</a>".format(local_run.get_portal_url(), local_run.id))
    
  • 安装包时失败

    安装许多包时,Azure 机器学习 SDK 在 Azure Databricks 上安装失败。 某些包(如 psutil)可能会导致冲突。 为了避免安装错误,请通过冻结库版本来安装包。 此问题与 Databricks 相关,而与 Azure 机器学习 SDK 无关。 使用其他库时也可能会遇到此问题。 示例:

    psutil cryptography==1.5 pyopenssl==16.0.0 ipython==2.2.0
    

    或者,如果一直面临 Python 库的安装问题,可以使用初始化脚本。 此方法并不正式受到支持。 有关详细信息,请参阅群集范围初始化脚本

  • FailToSendFeather:如果在读取 Azure Databricks 计算上的数据时看到 FailToSendFeather 错误,请将 azureml-sdk[automl] 包升级到最新版本。

后续步骤