如何解决处理 Kusto 中的重复数据
问题描述:
当数据接收到 source_table 时,kusto 中的更新策略运行以将数据存储在 end_point_table 中。 更新函数应该处理重复数据并将新数据存储在end_point_table 中。这意味着如果我们从 source_table 中获得与我们在 end_point_table 中拥有的数据相同的数据,那么将不会存储任何数据。
我做了什么:
end_point_table 已经有数据
.ingest inline into table end_point_table <|
1,2020-01-01T12:00:00Z,property,128
我有一个名为 source_table 的源表,我将数据摄取到它,如下所示
.ingest inline into table source_table <|
1,128
.ingest inline into table source_table <|
1,128
let _incoming =(
source_table
| where property == "property"
| project device_id,timestamp,value
| distinct *
);
let _old_data = (
end_point_table
);
_incoming
| join kind = leftouter(
_old_data
| summarize arg_max(timestamp,*) by device_id
) on device_id
| where (
timestamp != timestamp1
or value != value1
)
| project device_id,value
结果: 当我在摄取后查询数据时,我得到了三行而不是像这样的一行
1,128
1,128
问题是:
是否有任何解决方案可以避免摄取 end_point_table 中的重复数据。还是我错误地使用了更新策略
解决方法
更新政策不是解决此问题的正确方法。
处理重复数据删除的正确方法有多种,请在此处阅读:
https://docs.microsoft.com/en-us/azure/data-explorer/dealing-with-duplicates
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。