培训
模块
使用 Azure CLI 在 Azure Batch 中运行并行任务 - Training
了解 Azure Batch 功能,这些功能可以帮助你有效地在云中运行大规模的并行和高性能计算应用程序。
认证
Microsoft Certified: Azure Data Scientist Associate - Certifications
使用 Python、Azure 机器学习和 MLflow 管理数据引入和准备、模型训练和部署以及机器学习解决方案监视。
你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本教程将引导你如何创建和运行可运行 Azure Batch 工作负载的 Azure 数据工厂管道。 Python 脚本在 Azure Batch 节点上运行,从 Azure Blob 存储容器中获取逗号分隔值 (CSV) 输入、操作数据并将输出写入到其他存储容器。 你使用 Azure Batch Explorer 创建 Azure Batch 池和节点,而 Azure 存储资源管理器则处理存储容器和文件。
在本教程中,你将了解:
pip
安装 azure-storage-blob 包。使用 Azure Batch Explorer 创建用于运行工作负载的计算节点池。
使用 Azure 凭据登录到 Azure Batch Explorer。
选择你的 Azure Batch 帐户。
选择左侧边栏上的“池”,然后选择 + 图标添加一个池。
按下所示,填写将池添加到帐户表单:
cmd /c "pip install azure-storage-blob pandas"
,然后选择“选择”。 此命令在启动时在每个节点上安装 azure-storage-blob
包。选择“保存并关闭”。
使用 Azure 存储资源管理器创建 blob 容器来存储输入和输出文件,然后上传输入文件。
下面这个 Python 脚本会加载 Azure 存储资源管理器“输入”容器中的“iris.csv”数据集文件、操作数据,并将结果保存到“输出”容器。
该脚本需要使用链接到 Azure Batch 帐户的 Azure 存储帐户的连接字符串。 请执行以下操作获取连接字符串:
将连接字符串粘贴到以下脚本中,替换 <storage-account-connection-string>
占位符。 将脚本保存为名为“main.py”的文件。
重要
在实际使用时,不建议在应用源代码中公开帐户密钥。 正确的做法是限制对这些凭据的访问权限,通过使用变量或配置文件来在代码中引用它们。 最好是将 Batch 和存储帐户密钥存储在 Azure 密钥保管库中。
# Load libraries
from azure.storage.blob import BlobClient
import pandas as pd
# Define parameters
connectionString = "<storage-account-connection-string>"
containerName = "output"
outputBlobName = "iris_setosa.csv"
# Establish connection with the blob storage account
blob = BlobClient.from_connection_string(conn_str=connectionString, container_name=containerName, blob_name=outputBlobName)
# Load iris dataset from the task node
df = pd.read_csv("iris.csv")
# Take a subset of the records
df = df[df['Species'] == "setosa"]
# Save the subset of the iris dataframe locally in the task node
df.to_csv(outputBlobName, index = False)
with open(outputBlobName, "rb") as data:
blob.upload_blob(data, overwrite=True)
在本地运行该脚本以测试和验证功能。
python main.py
该脚本应生成一个名为“iris_setosa.csv”的输出文件,其中仅包含 Species = setosa 的数据记录。 验证脚本正确工作后,将 main.py 脚本文件上传到 Azure 存储资源管理器的“输入”容器。
创建并验证使用 Python 脚本的数据工厂管道。
数据工厂管道使用 Azure Batch 和存储帐户名称、帐户密钥值以及 Azure Batch 帐户终结点。 可以从 Azure 门户获取此信息:
在 Azure 搜索栏中,搜索并选择你的 Batch 帐户名称。
在 Batch 帐户页面上,从左侧导航栏中选择“密钥”。
在“密钥”页面上,复制以下值:
如果 Azure 数据工厂工作室尚未运行,则在 Azure 门户中的数据工厂页面上选择“启动工作室”。
在数据工厂工作室中,选择左侧导航栏中的“作者”铅笔图标。
在“工厂资源”下,选择 + 图标,然后选择“管道”。
在右侧的“属性”窗格中,将管道的名称更改为“运行 Python”。
在“活动”窗格中展开“Azure Batch 服务”,将“自定义”活动拖动到管道设计器图面。
在设计器画布下的“常规”选项卡上,在“名称”下输入“testPipeline”。
选择“Azure Batch”选项卡,然后选择“新建”。
如下所示,填写“新建链接服务”表单:
https://batchdotnet.eastus.batch.azure.com
。在 Azure Batch“新建链接服务”屏幕底部,选择“测试连接”。 连接成功后,选择“创建”。
选择“设置”选项卡并输入或选择以下设置:
cmd /C python main.py
。选择管道工具栏中的“验证”,验证管道。
选择“调试”测试管道,确保管道正常工作。
选择“全部发布”,发布管道。
选择“添加触发器”,然后选择“立即触发”以运行管道,或“新建/编辑”以设定触发时间。
如果运行管道后产生警告或错误,可以使用 Azure Batch Explorer 查看 stdout.txt 和 stderr.txt 输出文件获取详细信息。
Azure Batch 帐户、作业和任务是免费的,但计算节点就算并没有运行作业也会产生费用。 最好是需要多少节点池就分配多少,并在使用后将其删除。 删除池会删除节点上的所有任务输出以及节点本身。
输入和输出文件保留在存储帐户中,会产生费用。 不再需要这些文件时,可以删除文件或容器。 不再需要 Azure Batch 帐户或链接存储帐户时,可以将其删除。
本教程介绍了如何将 Python 脚本与 Azure Batch Explorer、Azure 存储资源管理器和 Azure 数据工厂配合使用来运行 Azure Batch 工作负载。 有关 Azure 数据工厂的详细信息,请参阅什么是 Azure 数据工厂?
培训
模块
使用 Azure CLI 在 Azure Batch 中运行并行任务 - Training
了解 Azure Batch 功能,这些功能可以帮助你有效地在云中运行大规模的并行和高性能计算应用程序。
认证
Microsoft Certified: Azure Data Scientist Associate - Certifications
使用 Python、Azure 机器学习和 MLflow 管理数据引入和准备、模型训练和部署以及机器学习解决方案监视。