我有一个splayed表,我可以从罚款选择数据。kdb splayed表元错误
当我尝试查看元数据时,出现`sym
错误。任何人都可以提出为什么会发生这种情况的原因?
q)meta tablename
k){$[(20h>t)|77h<t:@x;`;98h>@. t:!x;`;t]}
'sym
.:
`sym
q.Q))
我有一个splayed表,我可以从罚款选择数据。kdb splayed表元错误
当我尝试查看元数据时,出现`sym
错误。任何人都可以提出为什么会发生这种情况的原因?
q)meta tablename
k){$[(20h>t)|77h<t:@x;`;98h>@. t:!x;`;t]}
'sym
.:
`sym
q.Q))
由于枚举的sym文件丢失,您正在收到错误。正常情况下,Q解释器会将其查找到splayed目录之上的一个目录。
对于例如:如果你给一个保存命令是这样的:
q) t:([]sym:`a`b;id:1 2)
q) `:/home/test/t/ set .Q.en[`:test] t
它将创建目录“T”内/首页/张开表“T”和创建目录枚举“符号”文件测试/家/测试。
要装入此表:
q)\l /home/test
另一件事是,你还可以加载列举的“符号”文件中手动像这样:
q)sym:get `:path to sym file
在内存中的所有表都将自动被映射到这个新的名单。
参考: http://code.kx.com/q4m3/14_Introduction_to_Kdb+/#1422-splayed-tables-with-symbol-columns
是的!手动加载命令是我所需要的,因为我的sym文件不在标准位置。这工作!非常非常感谢你。 @glenny,我知道你也提到了这一点,但是从你的解释我也不太了解。不过,谢谢您花时间回答。我感谢大家的帮助。 – Hopper06 2014-10-02 17:38:38
枚举向量未加载到会话中。要在hdb分区内复制启动q - 展开的表格都是有效的,但由于sym未加载,meta将失败。
[email protected]:~>q hdb1/
q)2#trades
sym time src price size
------------------------------------------------
3 2014.04.22D08:00:00.937000000 10 25.02 5167
3 2014.04.22D08:00:04.567000000 9 25.05 3376
q)meta trades
k){$[(20h>t)|77h<t:@x;`;98h>@. t:!x;`;t]}
'sym
.:
`sym
q.Q))\\
q)sym:get`:../sym
q)meta trades
c | t f a
-----| -----
sym | s p
time | p
src | s
price| f
size | i
一切顺利!
是否有一个特定的地方一个sym文件是为了存储?我有一种感觉,我的问题源于我的sym文件不在正确的目录中。 – Hopper06 2014-10-02 15:57:46
我正在使用脚本来创建并展开表格,并且该脚本正在将sym文件存储在另一个目录中。所以它不会“自动”将sym文件放在“应该”的位置。除了“位于展开的表格文件之上的目录?”之外,你能否更具体地说明它应该在哪里?以上有多高?在与tablename文件夹相同的目录中?我试过了,它不工作... – Hopper06 2014-10-02 16:06:49
>在与tablename文件夹相同的目录中?我已经尝试过了,但它不起作用。 你能详细说明一下吗?例如,它应该像标准方式一样工作,例如 Q)T:([]一个:1_til 10; B:反向1_til 10;符号:9'3;时间:9#.zp) Q)':hdb1 /表/设置.Q.en [' :hdb1] T, 虽然如果SYM文件是在一个不规范的地方,然后将其加载到正确的方式去,是不是“\ L /路径/到/ SYM”你在你的文章中提到的命令,但使用'加载'例如 load':./路径/到/符号 – glenny 2014-10-02 16:35:56
负载在符号文件 - 应该拿加载时的分贝启动,真的。 – 2014-10-02 15:52:28
我试过\ l path/sym,但是当我加载这个时,表格不再可用。有什么特别的方法可以加载sym文件吗?它不会自动加载。 – Hopper06 2014-10-02 16:04:38
历史数据库的根目录是否包含sym文件?你可以做'get \':sym'来读取文件吗?只要sym文件在hdb的根目录下,它应该被读入。所以如果你用'\ l/root/to/hdb'来加载所有表格+ sym文件 – 2014-10-02 16:35:06