如何解决在Kusto中解析数据
我正在尝试在Kusto中解析以下数据。需要帮助。
[[ObjectCount][LinkCount][DurationInUs]]
[ChangeEnumeration][[88][9][346194]]
[ModifyTargetInLive][[3][6][595903]]
需要没有任何硬编码的通用实现。
解决方法
理想情况-您可以将以该格式生成源数据的组件更改为使用标准格式(例如CSV,Json等)。
以下方法可能有效,但是您应该考虑 效率很低
let T = datatable(s:string)
[
'[[ObjectCount][LinkCount][DurationInUs]]','[ChangeEnumeration][[88][9][346194]]','[ModifyTargetInLive][[3][6][595903]]',];
let keys = toscalar(
T
| where s startswith "[["
| take 1
| project extract_all(@'\[([^\[\]]+)\]',s)
);
T
| where s !startswith "[["
| project values = extract_all(@'\[([^\[\]]+)\]',s)
| mv-apply with_itemindex = i keys on (
extend Category = tostring(values[0]),p = pack(tostring(keys[i]),values[i + 1])
| summarize b = make_bag(p) by Category
)
| project-away values
| evaluate bag_unpack(b)
--->
| Category | ObjectCount | LinkCount | DurationInUs |
|--------------------|-------------|-----------|--------------|
| ChangeEnumeration | 88 | 9 | 346194 |
| ModifyTargetInLive | 3 | 6 | 595903 |
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。