包含来自Astronomer的延迟操作符和传感器的Apache Airflow提供者
项目描述
弃用通知
随着astronomer-providers包的1.19.0版本发布,大部分操作符和传感器已被弃用,并将不再接收更新。我们建议迁移到官方Apache Airflow Providers以获取最新功能和支持。对于本仓库中已弃用的操作符和传感器,迁移到官方Apache Airflow Providers的操作非常简单,只需将导入路径从
from astronomer.providers.*.*.operator_module import SomeOperatorAsync
改为
from airflow.providers.*.*.operator_module import SomeOperator
并在使用操作符或传感器时设置deferrable参数为True。将deferrable参数设置为True将确保操作符或传感器使用来自官方Apache Airflow Providers的异步版本。
例如,要将astronomer.providers.amazon.aws.operators.batch.BatchOperatorAsync迁移到airflow.providers.amazon.aws.operators.s3.BatchOperator,只需更改导入路径并传递deferrable参数
BatchOperator(
task_id="copy_object",
your_arguments,
your_keyword_arguments,
deferrable=True,
)
有关使用官方Apache Airflow Providers中的可延迟操作符和传感器的更多信息,请访问以下链接
https://airflow.org.cn/docs/apache-airflow-providers/index.html
https://airflow.org.cn/docs/#providers-packages-docs-apache-airflow-providers-index-html
https://airflow.org.cn/docs/apache-airflow/stable/authoring-and-scheduling/deferring.html
对于迁移中遇到的问题的故障排除,建议您打开一个GitHub讨论
安装
使用pip进行安装和更新
pip install astronomer-providers
这仅安装核心提供程序的依赖项。要安装所有依赖项,请运行
pip install 'astronomer-providers[all]'
要仅安装特定提供程序的依赖项,请指定集成名称作为额外参数,例如,要安装Kubernetes提供程序的依赖项,请运行
pip install 'astronomer-providers[cncf.kubernetes]'
额外
额外名称 |
安装命令 |
依赖项 |
---|---|---|
全部 |
pip install 'astronomer-providers[all]' |
全部 |
amazon |
pip install 'astronomer-providers[amazon]' |
Amazon |
apache.hive |
pip install 'astronomer-providers[apache.hive]' |
Apache Hive |
apache.livy |
pip install 'astronomer-providers[apache.livy]' |
Apache Livy |
cncf.kubernetes |
pip install 'astronomer-providers[cncf.kubernetes]' |
Cncf Kubernetes |
databricks |
pip install 'astronomer-providers[databricks]' |
Databricks |
dbt.cloud |
pip install 'astronomer-providers[dbt.cloud]' |
Dbt Cloud |
pip install 'astronomer-providers[google]' |
||
http |
pip install 'astronomer-providers[http]' |
Http |
microsoft.azure |
pip install 'astronomer-providers[microsoft.azure]' |
Microsoft Azure |
openlineage |
pip install 'astronomer-providers[openlineage]' |
Openlineage |
sftp |
pip install 'astronomer-providers[sftp]' |
Sftp |
snowflake |
pip install 'astronomer-providers[snowflake]' |
Snowflake |
示例用法
此仓库的结构与Apache Airflow的源代码相同,因此,例如,如果您想导入异步操作符,可以按以下方式导入
from astronomer.providers.amazon.aws.sensors.s3 import S3KeySensorAsync as S3KeySensor
waiting_for_s3_key = S3KeySensor(
task_id="waiting_for_s3_key",
bucket_key="sample_key.txt",
wildcard_match=False,
bucket_name="sample-bucket",
)
示例 DAG 存在于各自提供者的文件夹中。例如,Kubernetes 提供者的 DAG 存在于 astronomer/providers/cncf/kubernetes/example_dags 文件夹。
原则
我们将只为进行一定程度轮询(完成任务需要几分钟以上)的“同步版本”操作符创建异步操作符。
例如,我们不会为 BigQueryCreateEmptyTableOperator 创建异步操作符,但会为 BigQueryInsertJobOperator 创建一个,它实际上会运行查询,在最坏的情况下可能需要数小时才能完成任务。
要创建异步操作符,我们需要继承相应的 airflow 同步操作符。如果同步版本不可用,则从 airflow BaseOperator 继承。
要创建异步传感器,我们需要继承相应的同步传感器。如果同步版本不可用,则从 airflow BaseSensorOperator 继承。
变更日志
我们遵循 语义化版本控制 进行发布。检查 CHANGELOG.rst 了解最新更改。
贡献指南
欢迎所有贡献,包括错误报告、错误修复、文档改进、增强功能和创意。
有关如何贡献的详细概述,请参阅 贡献指南。
作为本项目的贡献者和维护者,您应遵守 贡献者行为准则。
项目目标
我们专注于项目这个阶段的迭代和开发速度,因此我们希望能够快速与社区成员和客户进行迭代,并在必要时发布版本。
Airflow 提供者是 apache-airflow 核心包之外的独立包,我们希望避免进一步膨胀 Airflow 存储库。
我们希望用户和社区能够轻松跟踪我们开发的各个提供者的功能和路线图。
我们希望看到 Airflow 社区成员创建、维护和共享他们的提供者,以建立一个提供者生态系统。
限制
在 Airflow 中,传感器有一个 mode 参数,可以是 poke 和 reschedule。在异步传感器中,由于任务被延迟到触发器,因此此参数没有使用。
许可协议
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。
源代码分发
构建分发
astronomer_providers-1.19.4.tar.gz的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | d6a195353aba38646efc1af3da267fb860306345d57ce54c90f5b59cb309586c |
|
MD5 | d9976622d6f91a325abf53d870e09b86 |
|
BLAKE2b-256 | bb4889bf74fca765c9770ecb85f81b4d831b0a0673e59e56e25424cde0973aea |
astronomer_providers-1.19.4-py3-none-any.whl的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 73aaa594cfcdc470068669e6133069be17eaa67ca3bb9aab2da698fa9b211f82 |
|
MD5 | 637ca0ead0eae40fb9d3605fe9c3c74d |
|
BLAKE2b-256 | a71935a24b5b97c1af53f9d75f71aac85b8730785fa7df05e31c459bffcf9276 |