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

时间:2017-03-24 13:04:19

标签: airflow

BCP查询结果导致的任务失败的最佳方法是什么(我连接的MS SQL服务器的命令行查询)?

我每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

row_date和interval将与Airflow中的执行日期相关联。如果查询没有返回任何数据,我想让airflow显示一个失败的任务实例。有什么建议吗?

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

1 个答案:

答案 0 :(得分:-1)

我会使用您的第一个建议,并检查文件大小作为任务的一部分。

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