关于KQL中$table与MDTables变量来源的技术问询
KQL特殊变量来源解答
1. $table变量的说明与来源
$table是KQL的内置特殊变量,用于标识数据所属的源表名称。
在你提供的语句中:
search * | distinct $table | sort by $table asc nulls last
search *命令会扫描当前查询上下文内的所有表(默认是当前数据库下的所有表),扫描过程中KQL会自动为每条匹配的数据添加$table字段,记录该数据来自哪张表。后续的distinct $table就是提取所有被扫描到的表名并去重,最终排序输出。
2. MDTables变量的来源
MDTables是通过union运算符的withsource参数自定义生成的列,并非内置变量。
看语句里的关键行:
union withsource=MDTables*
withsource=MDTables的作用是:当union *合并当前数据库所有表的数据时,自动新增一列名为MDTables的字段,字段值就是对应数据原本所属的表名。后续语句中对MDTables的分组、统计,都是基于这个自定义列来操作的。
内容的提问来源于stack exchange,提问作者jreacher403
相关产品推荐
相关产品推荐

