假设我在日期时间(2021-11-02 05:05:00)精确运行以下查询
MyTable | where ingestion_time() between (datetime(2021-11-02 05:00:00)..5m) | ..
是否保证 ingestion_time() 落在该时间窗口内的所有行都已作为表的一部分可用?通过实验,我发现在任何给定时间后大约 10 分钟,最近 5 分钟时间窗口的数据仍然保持流动。因此,在此示例中,即使在 datetime(2021-11-02 05:10:00) ,新行仍会填充到表中,且 ingestion_time() 值落在 datetime(2021-11-02 05:00 之间: 00)和日期时间(2021-11-02 05:05:00)。这是预期的吗(我猜一些基本的摄取延迟可能是原因)?如果是预期的,我们是否应该在自动化中设置一些延迟(例如 10-15 分钟),以在 10-15 分钟之前的时间范围内运行此查询?
最佳答案
不,没有这样的保证。如果您正在寻找一种对所有数据执行一次性处理且不保证数据丢失的方法,您应该使用 database cursors .
关于azure-data-explorer - 摄取延迟和 ingestion_time() 之间的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69805936/