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

能否通过Airflow触发Databricks任务运行已部署的Python项目?

问题解答

1. 能否让Databricks任务运行S3/Artifactory中的Python项目或wheel文件?

完全可以,Databricks支持通过非Notebook类型的作业任务运行外部存储的Python代码,主要有两种实现方式:

方式一:运行存储在S3/Artifactory的Python脚本文件

使用spark_python_task任务类型,直接指定脚本的外部存储路径即可,示例代码如下:

spark_python_task_params = {
    'new_cluster': new_cluster,
    'spark_python_task': {
        'python_file': 's3://your-bucket/path/to/your/script.py',
        # 可选:传递脚本运行参数
        'parameters': ['--input-path', 's3://input-bucket/data', '--output-path', 's3://output-bucket/result']
    },
}

方式二:运行存储在S3/Artifactory的wheel包

使用python_wheel_task任务类型,需先在集群配置中指定wheel包的外部存储路径,再指定包名和入口函数,示例代码如下:

python_wheel_task_params = {
    'new_cluster': new_cluster,
    'python_wheel_task': {
        'package_name': 'your-package-name',
        'entry_point': 'your_package.main',  # 包的入口函数路径
        # 可选:传递入口函数参数
        'parameters': ['--env', 'prod']
    },
    # 配置集群拉取外部wheel包
    'libraries': [{'pypi': {'package': 's3://your-bucket/path/to/your/package-v1.0.0.whl'}}]
}

2. 搭建生产可用的Git-CI/CD-Airflow-Databricks流程是否可行?

这个流程完全可行,是生产环境中管理Databricks作业代码的标准方案,具体落地步骤如下:

  • 代码托管:将Python项目代码(包含setup.py/pyproject.toml等构建配置)托管到Git仓库,建议用dev/staging/main分支区分不同环境。
  • CI/CD流水线配置:
    • 触发规则:设置为Git仓库指定分支(如main)有代码推送时自动触发。
    • 构建环节:执行代码静态检查、单元测试,然后用pip wheel或poetry build生成wheel包。
    • 部署环节:将构建好的wheel包上传到S3或Artifactory,同时可自动更新Airflow DAG中对应的wheel包路径(若用版本号管理,可自动替换版本号)。
  • Airflow触发Databricks作业:
    • 使用Airflow的DatabricksSubmitRunOperator,配置上述的spark_python_task或python_wheel_task参数,指向S3/Artifactory中的代码路径。
    • 触发方式:可让CI/CD流水线在部署完成后调用Airflow API触发对应DAG运行,也可设置DAG定时触发(针对周期性任务)。
  • 权限与环境配置:
    • 确保Databricks集群拥有访问S3/Artifactory的权限(如通过IAM角色、存储密钥)。
    • 集群配置中可添加初始化脚本,提前安装依赖包或配置环境变量。

额外注意事项

  • 版本管理:给wheel包添加版本号(如基于Git commit hash或语义化版本),方便回滚和追踪代码版本。
  • 日志监控:将Databricks作业日志集成到Airflow或统一日志平台,便于问题排查。
  • 环境隔离:针对开发、测试、生产环境,分别配置独立的Git分支、CI/CD流水线、Databricks集群和Airflow DAG。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 11:30:52