Kusto模拟器是否支持物化视图?创建失败求助
Kusto模拟器(Linux Docker)创建物化视图失败的解决办法
问题根源
报错核心信息Failed to find VFS provider for 'c:\\kustodata\\dbs\\AutoTests32\\data'表明:Linux环境的Docker容器内,Kusto模拟器默认尝试访问Windows格式的本地存储路径,但该路径在Linux容器中不存在。同时,未挂载宿主机磁盘时,容器临时存储无法支撑物化视图生成shard数据文件的持久化需求,导致分布式 ingestion 失败。
可行解决方案
挂载宿主机磁盘(推荐生产/长期测试)
启动容器时将宿主机目录映射到容器内的/kustodata,替换默认的Windows路径,命令示例:docker run -d -p 8080:8080 -v /your/local/storage/path:/kustodata mcr.microsoft.com/azurekustocli/emulator:latest此方式保证数据持久化,且容器内的Kusto能正确识别存储路径。
指定容器内临时存储路径(仅临时测试)
通过环境变量指定容器内的存储目录,无需挂载宿主机磁盘,但容器销毁后数据丢失:docker run -d -p 8080:8080 -e KUSTO_DATA_DIR=/kustodata mcr.microsoft.com/azurekustocli/emulator:latest修复容器内存储权限
若挂载磁盘后仍报错,需确保容器对挂载目录有读写权限,可通过指定root用户启动:docker run -d -p 8080:8080 -v /your/local/storage/path:/kustodata --user root mcr.microsoft.com/azurekustocli/emulator:latest
验证步骤
重启容器后,执行Kusto命令创建物化视图测试:
.create materialized-view MyMaterializedView on table SourceTable { SourceTable | summarize Total = count() by Category }
内容的提问来源于stack exchange,提问作者Oleksandr Klunnyi
相关产品推荐
相关产品推荐

