Airflow:如何从Big查询输出获取数据可用性的响应,并基于结果启动任务/子标记

时间:2017-07-11 01:33:09

标签: python-2.7 airflow apache-airflow

要求是kick off dag based on data availability from upstream/dependent tables

条件检查数据可用性(在n次迭代的大查询表中)检查可用数据与否。如果数据可用,则启动子数据/任务,继续循环。

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

{代码} 选择   1 从    哪里   日期时间BETWEEN TIMESTAMP(CURRENT_DATE())   AND TIMESTAMP(DATE_ADD(CURRENT_DATE(),1,' day')) 限制   1 {代码}

如果查询输出为1(表示今天可用的数据加载),则启动dag,然后继续循环,如附图链接所示。

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

1 个答案:

答案 0 :(得分:0)

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

  

传感器操作员以一定的时间间隔继续执行,并在a时成功   标准是满足的,如果超时则失败。

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

task1>>YourSensor>>task2