在kusto表上使用物化视图
我有一个场景,每 3 分钟从不同来源获取 20k+ 条消息的表。我想获取每个唯一来源发送的最新数据,来源可以是一个 id。我无法编写这样的查询。
FactResources | summarize arg_max(Timestamp, *) by SubscriptionId, ResourceId
- 我想了解这样做会影响集群的 CPU 性能,考虑到我的集群现在以 70% 的 CPU 利用率运行?
- 每次摄取后物化视图刷新的延迟是多少?
- 从 java SDK 我可以像调用 kusto 函数一样调用这个物化视图吗?
回答
- 是的,集群的 CPU 会受到影响,因为物化会消耗 CPU(就像在集群上运行的所有其他操作一样)。您可以估算通过物化过程中所消耗的资源量
.show commands-and-queries命令,记录在这里。 - 无法保证实现的延迟。只要
delta(什么是delta?)中有记录,并且只要集群有运行实现的可用容量,实现就会运行。延迟,称为物化视图年龄,取决于摄取模式、数据量和集群中的可用资源。您可以通过运行.show materialized-view并检查该MaterializedTo值来检查物化视图年龄。请参阅性能注意事项和监控中的更多信息。 - 您可以像查询表 (
ViewName) 或使用materialized-view()函数一样查询视图。请参阅物化视图查询。