0

需求是根据上游/依赖表的数据可用性启动 dag

同时条件检查数据可用性(在大查询的表中进行 n 次迭代)以检查数据是否可用。如果数据可用,则启动 subdag/task,否则继续循环。

很高兴看到一个清晰的示例如何使用 BigQueryOperator 或 `BigQueryValueCheckOperator' 然后执行类似这样的大查询

{Code} SELECT 1 FROM WHERE datetime BETWEEN TIMESTAMP(CURRENT_DATE()) AND TIMESTAMP(DATE_ADD(CURRENT_DATE(),1,'day')) LIMIT 1 {Code}

如果查询输出为 1(这意味着数据可用于今天的负载),则启动 dag 否则继续循环,如附图链接所示。

有没有人在 Airflow dag 中设置过这样的设计。

4

1 回答 1

0

你可以检查 BaseSensorOperator 和 BigQueryTableSensor 来实现你自己的传感器。https://airflow.incubator.apache.org/_modules/airflow/operators/sensors.html

传感器操作员按时间间隔继续执行,并在满足条件时成功,如果超时则失败。

BigQueryTableSensor 只是检查表是否存在,但确实检查了表中的数据。它可能是这样的:

task1>>YourSensor>>task2
于 2017-07-11T02:56:16.157 回答