首页 > 解决方案 > 是否有可能有半生不熟的范围?

问题描述

如果我们有大量数据负载并且假设查询在向表加载数据的过程中失败,是否有可能有半熟的范围?因此,假设我们有大量数据负载作为表查询 ( .set-or-append) 的单个摄取的一部分,并且由于数据很大,因此它为表创建了多个范围(集群稍后可能会尝试根据合并进行合并适用于表的策略,但这要晚得多,而不是在数据加载期间)。所以在某种程度上,它是一个单独的 ADX 命令,导致数据分别加载到各个数据块上——那么如果一些数据块加载成功而其中一些失败了——我们会留下一个失败的命令并部分加载表吗?我试图确保如果命令整体失败,则数据不会出现在表中。

标签: azure-data-explorer

解决方案


摄取命令是原子的,无论它创建的范围数如何,无论是完全失败还是完全成功,它都无法提供部分结果。

事务性保证还跨越更新策略,其中策略可以是事务性的或非事务性的。在非事务情况下,摄取可以在源表上成功而在目标表上失败,在事务情况下,参与更新策略链的所有表中的所有相关摄取要么成功,要么失败。


推荐阅读