在 Kusto DB 中更新插入

Ali*_*ese 4 etl adfs azure-data-explorer

我有一个 ADF,它每天将 Kusto 函数的输出写入 Kusto 表。我需要每天将数据更新到表中。我没有找到更新 Kusto DB 中现有数据的方法。如果数据不存在,有什么方法可以插入行,否则通过 ADF 更新现有行?

设置或替换对我来说非常昂贵,因为该表包含大量数据

如果这是不可能的,我可以使用我拥有的日期时间戳截断最近 2 个月的数据并从函数中重新加载它吗

Yon*_*i L 7

ADX/Kusto 专为分析而非 OLTP 场景而构建。因此,其设计权衡有利于非常快速的批量创建(支持新记录的高插入/追加速率)和非常快速的批量读取(支持对大量数据的查询)。ADX/Kusto 对删除场景的支持主要是批量删除(主要针对保留期),不支持按记录删除。同样,ADX/Kusto 不支持现有记录的更新

有几种处理“重复”数据的技术,这些技术可以让您简单地摄取新记录,而无需执行您所谓的操作upsert(这不是 ADX/Kusto 支持的操作,如上所述):https://learn .microsoft.com/en-us/azure/data-explorer/dealing-with-duplicates

您可以考虑的另一个选项是批量替换数据 - 通过extents使用扩展级别控制命令标记和替换数据分片 ( ):