我有一個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