我正在使用Azure Data Factory将数据从Azure Cosmos DB复制到Azure Data Lake . 我的管道包含一个复制活动,它将数据复制到Data Lake接收器 .
这是我对源数据集的查询:
select * from c
where c.data.timestamp >= '@{formatDateTime(addminutes(pipeline().TriggerTime, -15), 'yyyy-MM-ddTHH:mm:ssZ' )}'
AND c.data.timestamp < '@{formatDateTime(pipeline().TriggerTime, 'yyyy-MM-ddTHH:mm:ssZ' )}'
我在触发时间之前的最后15分钟获取数据 .
现在,如果查询没有检索到数据,则复制活动会生成一个空文件并将其存储在数据湖中 . 我想防止这种情况 . 有什么办法可以实现吗?
2 回答
您可以使用lookup activity然后使用if活动来决定是否需要运行复制活动 .
在查找活动中,您可以将firstRowOnly设置为true,因为您只想检查是否有数据 .
我尝试了以下它,它正在工作:我正在检查查找条目是否返回超过0行 .