You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure Data Factory中集成Python脚本并关联ETL流水线

在Azure Data Factory中实现Python脚本与流水线协同的解决方案

替代Batch组件的实用方案

如果Batch组件无法满足需求,以下几种方式可以直接实现Python脚本与ADF流水线的协同:

1. 使用Azure Function活动

  • 将Python脚本封装为Azure Function,直接在ADF流水线中通过Azure Function活动调用。
  • 优势:轻量易维护,支持与ADF其他组件(复制活动、Lookup活动等)直接串联,无需复杂集群配置。
  • 操作要点:
    • 在Azure门户创建Python类型的Function App,编写业务逻辑脚本。
    • 在ADF流水线中添加Azure Function活动,配置Function App连接信息、目标函数名及参数。
    • 通过活动的输入输出参数传递流水线变量(如文件路径、数据源配置)。

2. 使用自定义活动(基于自托管集成运行时)

  • 借助ADF自定义活动,结合自托管集成运行时(Self-hosted IR)运行本地/虚拟机上的Python脚本。
  • 适合需访问本地资源、依赖特定Python库的场景。
  • 操作要点:
    • 在目标机器部署自托管集成运行时,确保机器已安装对应版本的Python及所需依赖库。
    • 在ADF中创建自定义活动,配置运行命令为python your_script.py,指定脚本存储路径(本地路径或Azure存储挂载路径均可)。
    • 通过活动输入输出绑定传递流水线参数,例如将ADF数据集路径传入脚本。

3. 使用Synapse Notebook活动(关联Synapse工作区时)

  • 若ADF已关联Azure Synapse工作区,可直接用Synapse Notebook活动运行Python代码。
  • 支持交互式调试,可直接读取ADF数据集或链接服务的数据。
  • 操作要点:
    • 在Synapse工作区创建Python Notebook,编写脚本逻辑。
    • 在ADF流水线中添加Synapse Notebook活动,关联目标Notebook并配置运行参数。
    • 通过Notebook参数接收ADF流水线变量,执行后将结果回传至流水线。

Batch组件无法运行的故障排查步骤

若坚持使用Batch组件,按以下步骤定位问题:

  • 检查权限配置:确认ADF服务主体拥有Batch账户的Contributor或Batch Job Operator权限,可正常提交作业、访问Batch池。
  • 验证池状态:确认Batch池的节点大小、操作系统与Python环境匹配(Windows节点需装Windows版Python,Linux同理),且节点处于Running状态。
  • 核对任务命令行:确保任务的命令行路径正确,例如脚本挂载到Batch节点后,路径应为python /mnt/batch/tasks/workitems/[作业名]/task-1/your_script.py。
  • 查看任务日志:在Batch账户的作业任务详情中查看stdout和stderr日志,定位具体错误(如依赖库缺失、脚本语法错误、路径不存在)。
  • 检查网络配置:若Batch池部署在虚拟网络中,需确保ADF能访问该虚拟网络,且节点可正常拉取脚本及依赖资源。

内容的提问来源于stack exchange,提问作者GbrStf345

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 09:13:15