Azure Data Explorer中如何创建持久化拼接列(非虚拟列)
在Azure Data Explorer中持久化拼接字符串的计算列
要在Azure Data Explorer(ADX)中实现类似SQL里持久化计算列的效果,你可以通过.alter table命令添加持久化计算列,替代临时的extend虚拟列。
1. 添加仅对新数据生效的持久化计算列
这个命令会将计算列加入表结构,后续写入的数据会自动计算并存储该列的值,但历史数据不会被填充:
.alter table TableName add column NewCol string = strcat(Col1, "separator", Col2)
2. 同时填充历史数据的持久化计算列
如果需要让已存在的历史数据也生成该列的值,加上with (updateexisting=true)参数:
.alter table TableName add column NewCol string = strcat(Col1, "separator", Col2) with (updateexisting=true)
关键说明
- 执行上述命令需要拥有目标表的Admin权限;
- 持久化计算列会实际存储数据,而非仅在查询时临时计算,和你用
extend生成的虚拟列本质不同; - 计算列的表达式支持KQL的字符串函数(比如这里的
strcat),语法和extend中保持一致。
内容的提问来源于stack exchange,提问作者Alejandro Alvarez
相关产品推荐
相关产品推荐

