Airflow 气流-没有返回数据的任务失败?

Airflow 气流-没有返回数据的任务失败?,airflow,Airflow,如果任务是BCP查询(我连接到的MS SQL server的命令行查询)的结果,那么最好的方法是什么 我每30分钟从多个表下载一次数据。如果数据不存在,BCP命令仍在创建文件(0大小)。这使任务看起来总是成功的,但实际上这意味着另一个团队正在维护的复制服务器上缺少数据 bcp "SELECT * FROM database.dbo.table WHERE row_date = '2016-05-28' AND interval = 0" queryout /home/var/filename.c

如果任务是BCP查询(我连接到的MS SQL server的命令行查询)的结果,那么最好的方法是什么

我每30分钟从多个表下载一次数据。如果数据不存在,BCP命令仍在创建文件(0大小)。这使任务看起来总是成功的,但实际上这意味着另一个团队正在维护的复制服务器上缺少数据

bcp "SELECT * FROM database.dbo.table WHERE row_date = '2016-05-28' AND interval = 0" queryout /home/var/filename.csv -t, -c -S server_ip -U user -P password
行_日期和间隔将与气流中的执行日期关联。如果查询没有返回任何数据,我想显示失败的任务实例。有什么建议吗

  • 作为任务的一部分检查文件大小
  • 创建一个上游任务,读取前几行并告知查询是否有效

我将使用您的第一个建议,并在任务中检查文件大小

如果无法在与查询相同的任务中执行此操作,请创建一个具有上游依赖关系的具有特定用途的新任务。如果文件为空,只需在任务中触发异常