首页 > 解决方案 > 如何为 KDB tickerplant 指定文件路径以在一天结束时将数据保存到

问题描述

我想知道如何为我的刻度设置指定一个文件路径,以保存到.u.endofday从 tickerplant 发送的时间。目前,当发送此消息时,RDB 会保存到tick.q文件所在的工作目录中。

是否可以传入文件路径以便将其保存到../../HDB而不是../../Tick

标签: kdb

解决方案


在 vanilla rq 脚本中,使用

.Q.hdpf[`$":",.u.x 1;`:.;x;`sym]

其中第二个参数是表保存到的目录。

`:.

表示当前目录。您可以将其更改为其他内容,例如 `:/home/data/hdb

https://code.kx.com/q/ref/dotq/#qhdpf-save-tables

如果您使用的是纯 rq 脚本, 请参阅https://github.com/KxSystems/kdb-tick/blob/master/tick/rq

.u.rep下有一条注释,建议修改'system cd'命令,这里可以指定任何你喜欢的目录。这将更改 rq 进程内的目录。然后当 .Q.hdpf 被调用时,它会将表保存到该目录。rdb 在启动时调用 .u.rep。

.u.rep:{(.[;();:;].)each x;if[null first y;:()];-11!y;system "cd ",1_-10_string first reverse y};    
/ HARDCODE \cd if other than logdir/db

你可以有

system "cd /home/data/hdb"

这会将当前目录更改为该位置


推荐阅读