如何解决检查Airflow中是否存在Bigquery分区
我的下游Airflow BigQuery任务依赖于其他表(日期分区)中特定分区的存在。
我知道BigQueryTableSensor
运算符,该运算符检查表是否存在。有没有简单的方法来检查该表中是否存在特定分区?实际上,操作员应该等到这些分区存在后才能成功退出。
解决方法
我查看了BigQuery的Airflow运算符,但找不到一个可以验证Airflow stable version中的表中是否存在特定分区的人。
最近,Apache Airflow社区接受了merge request,其中包括一个用于检查已分区的BigQuery表中是否存在分区的函数。该贡献已包含在latest version
中如果此更改包含在下一发行版中,则新函数可以这样调用:
- 包括图书馆
from airflow.providers.google.cloud.sensors.bigquery import BigQueryTablePartitionExistenceSensor
- 调用函数
check_table_partition_exists = BigQueryTablePartitionExistenceSensor(
task_id="check_table_partition_exists",project_id=PROJECT_ID,dataset_id=DATASET_NAME,table_id=TABLE_NAME,partition_id=PARTITION_NAME,)
您可以查看这些examples以获得更多详细信息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。