Kdb+展开表加载疑问:符号未显示及单表加载方法咨询
问题1:加载展开表后枚举符号显示为数字的原因及解决方法
原因:展开表中的枚举列存储的是sym列表的索引值,解析这些索引需要依赖db目录下的sym文件。直接执行q db/t启动时,程序仅加载t目录内的表数据,sym文件未被加载到内存,因此枚举列只能显示原始索引数字。
解决方法:
- 手动加载
sym和表:
打开q会话后执行:\l db/sym // 加载符号映射文件 t: get`:db/t // 加载目标表 - 或者先进入
db目录启动q,此时sym会自动加载,再确认仅使用t表即可:q db
问题2:仅加载单个展开表且正常显示枚举符号的方法
可以通过以下几种方式实现:
- 会话内手动加载
启动q后依次执行:\l db/sym t: get`:db/t - 通过启动脚本加载
创建脚本文件(如load_single_table.q),内容如下:
然后通过以下命令启动q并加载:\l db/sym t: get`:db/tq load_single_table.q - 加载父目录后清理无关表
先加载包含sym的父目录,再删除不需要的表:
在q会话中执行(假设无关表为q dbu、v):`u`v delete`
内容的提问来源于stack exchange,提问作者kgf3JfUtW
相关产品推荐
相关产品推荐

