跳转到主要内容

由天文学家构建的Apache Airflow提供程序包,用于与Ray集成。

项目描述

Ray提供程序

:books: 文档   |   :rocket: 入门   |   :speech_balloon: Slack (#airflow-ray)  |   :fire: 贡献  

使用Apache Airflow®(https://airflow.org.cn/)来编排Ray作业,结合Airflow的工作流程管理和Ray的分布式计算能力。

使用此提供程序的优点包括:

  • 集成:将Ray作业集成到Airflow DAG中,实现统一的工作流程管理。
  • 分布式计算:在Airflow管道中使用Ray的分布式功能,实现可扩展的ETL、LLM微调等。
  • 监控:通过Airflow的用户界面跟踪Ray作业进度。
  • 依赖管理:在DAG中定义和管理Ray作业与其他任务之间的依赖关系。
  • 资源分配:在单个管道中与其他任务类型一起运行Ray作业。

目录

快速入门

查看我们的入门指南。示例DAG可在example_dags/找到。

示例DAG

示例1:使用@ray.task管理作业生命周期

以下示例展示了如何使用@ray.task装饰器来管理Ray集群的全生命周期:设置、作业执行和清理。

此方法适用于需要专用、短期集群的作业,通过在任务完成后进行清理来优化资源使用。

https://github.com/astronomer/astro-provider-ray/blob/bd6d847818be08fae78bc1e4c9bf3334adb1d2ee/example_dags/ray_taskflow_example.py#L1-L57

示例2:使用SetupRayCluster、SubmitRayJob & DeleteRayCluster

此示例展示了如何使用独立的操作员进行集群设置、作业提交和清理,提供对过程的更精细控制。

此方法允许涉及Ray集群的更复杂的流程。

要点

  • 单独使用SetupRayCluster、SubmitRayJob和DeleteRayCluster操作员。
  • 允许在删除之前向同一集群提交多个作业。
  • 演示了如何使用XCom在任务之间传递集群信息。

此方法适用于需要精细控制集群生命周期的场景,例如在同一集群上运行多个作业或保持集群一段时间。

https://github.com/astronomer/astro-provider-ray/blob/bd6d847818be08fae78bc1e4c9bf3334adb1d2ee/example_dags/setup-teardown.py#L1-L44

参与贡献

平台 目的 估计响应时间
讨论论坛 一般咨询和讨论 < 3天
GitHub问题 错误报告和功能请求 < 1-2天
Slack 快速问题和实时聊天 12小时

变更日志

我们遵循语义版本控制进行发布。请查看CHANGELOG.rst以获取最新更改。

贡献指南

欢迎所有贡献、错误报告、错误修复、文档改进和增强。

有关如何贡献的详细信息,请参阅贡献指南

许可

Apache 2.0许可证

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定要选择哪个,请了解更多关于安装软件包的信息。

源代码分发

astro_provider_ray-0.2.1.tar.gz (19.9 KB 查看哈希值)

上传于 来源

构建版本

astro_provider_ray-0.2.1-py3-none-any.whl (22.2 kB 查看哈希值)

上传于 Python 3

支持