在对一个产品的商业行为和表现进行分析时,我们经常需要用到很多日志作为数据源。目前很多系统通用的做法是每天会写一个日志文件,并且保存在Azure Blob Storage中,这样成本很低,同时也支持任何语言直接存取,包括后续加工利用。
本例中,我们需要对一共Blob container下面超过10万个日志文件进行分析,他们都是json格式的文件,格式相同,但每个文件中的数据会有多又少。
我们希望ADX来进行强大的分析,这里可以利用一个独立的工具来实现数据导入,无需编写代码。
官方参考文档 https://learn.microsoft.com/en-us/azure/data-explorer/lightingest。下面是我的这个例子,用了大约3个小时,处理了106361个文件,过程丝滑,结果令人满意。
今日福利,再赠送一个数据处理技巧,因为json数据中可能会有数组,你可能会在导入后需要展平数据,这里会用到一个特殊的操作符(mv-expand),和一个扩展插件(bag_unpack),很好很强大,你值得拥有。
.set-or-replace competitors <|
archives
| project competitors, id
| mv-expand competitors
| evaluate bag_unpack(competitors)