Apache Airflow的DAG文件在哪编写?GCP Composer场景如何操作?
GCP Composer Airflow 开发指南
是否需要本地安装Airflow?
推荐你本地安装与当前Composer环境版本完全一致的Airflow,可以完全避免「本地编写的代码部署到Composer后出现版本不兼容、依赖缺失」的问题。如果你只是临时测试非常简单的DAG逻辑,也可以暂时不装,直接在线编写后上传到存储桶验证。
DAG文件的编写部署位置
你在Web UI看到的存储桶是Composer自动绑定的GCS存储桶,所有DAG代码必须上传到该存储桶的dags/根目录下:
- Composer会自动同步该目录下后缀为
.py的文件到集群节点,正常1~3分钟即可在Airflow Web UI的DAG列表中看到对应DAG - 你可以直接在GCP控制台的Cloud Storage页面找到对应存储桶,拖拽本地编写好的DAG文件到
dags/目录完成上传 - 如果用gcloud命令行操作,参考命令为:
gcloud storage cp ./本地_dag文件.py gs://你的Composer存储桶名称/dags/
支持多轮测试的开发流程
- 本地校验:编写完DAG后,先在本地执行
airflow dags list检查是否存在语法错误、导入异常,执行airflow tasks test <DAG_ID> <任务ID> <执行日期>对单个任务做单元测试,确认逻辑正常再上传 - 环境隔离:如果有条件可以单独申请Composer开发环境,所有测试操作都在开发环境完成,确认全链路运行正常后再同步到生产环境存储桶
- 版本管理:每次修改DAG可以加版本后缀,或者单独创建测试专用的DAG ID,避免直接修改正在运行的生产DAG导致业务异常
内容的提问来源于stack exchange,提问作者Diganth Sanghvi
相关产品推荐
相关产品推荐

