我创建了一个自定义数据类型来存储外部产品的某些配置。因此,每天我都会将这个特定产品/服务的配置(多行,但数据模型相同)发送到Log数据存储区。
是否有可能显示哪些行在多天之间被添加或删除?数据结构总是相同的f.e。
MyCustomData_CL项目Guid_g,Name_s,URL_s
我想看看在什么时候添加/删除哪些记录。所以基本上每天和前一天进行比较。
如何使用Kusto查询语言完成这一任务?
向你问好,詹斯
发布于 2018-11-28 20:26:25
下一个查询使用完全外部联接来比较两组(一组来自前一天,另一组来自当前)。如果表中没有datetime列,则可以尝试使用ingestion_time()函数(这将显示表中包含的时间数据)。
let MyCustomData_CL =
datatable (dt:datetime,Guid_g:string , Name_s:string, URL_s:string)
[
datetime(2018-11-27), '111', 'name1', 'url1',
datetime(2018-11-27), '222', 'name2', 'url2',
//
datetime(2018-11-28), '222', 'name2', 'url2',
datetime(2018-11-28), '333', 'name3', 'url3',
];
let data_prev = MyCustomData_CL | where dt between( datetime(2018-11-27) .. (1d-1tick));
let data_new = MyCustomData_CL | where dt between( datetime(2018-11-28) .. (1d-1tick));
data_prev
| join kind=fullouter (data_new) on Guid_g , Name_s , URL_s
| extend diff=case(isnull(dt), 'Added', isnull(dt1), 'Removed', "No change")结果:
dt Guid_g Name_s URL_s dt1 Guid_g1 Name_s1 URL_s1 diff
2018-11-28 333 name3 url3 Added
2018-11-27 111 name1 url1 Removed
2018-11-27 222 name2 url2 2018-11-28 222 name2 url2 No changehttps://stackoverflow.com/questions/53508527
复制相似问题