如何在一天结束时为KDB tickerplant指定要保存数据的文件路径
我想知道当从tickerplant发送如何在一天结束时为KDB tickerplant指定要保存数据的文件路径,kdb,Kdb,我想知道当从tickerplant发送.u.endofday时,如何为我的勾号设置指定一个要保存到的文件路径。当前,当发送此消息时,RDB将保存到工作目录中,tick.q文件保存在该目录中 是否需要传入一个文件路径,以便将其保存到。/../HDB而不是。/../Tick?根据您的设置,有几种方法可以做到这一点 但我认为最有效的方法是查看在RDB中调用的.u.end函数,并查看其中使用了什么保存函数 搜索在RDB上定义.u.end的位置,并查看save_down函数。 查找最有可能的.Q.dpft
.u.endofday
时,如何为我的勾号设置指定一个要保存到的文件路径。当前,当发送此消息时,RDB将保存到工作目录中,tick.q
文件保存在该目录中
是否需要传入一个文件路径,以便将其保存到
。/../HDB
而不是。/../Tick
?根据您的设置,有几种方法可以做到这一点
但我认为最有效的方法是查看在RDB中调用的.u.end函数,并查看其中使用了什么保存函数
搜索在RDB上定义.u.end的位置,并查看save_down函数。
查找最有可能的.Q.dpft或有set命令。
关于.Q.dpft的文件:
其中输入的第一个参数是目录路径。
所以可以在那里以
hsym `$"/path/path/HDB"
返回
`:/path/path/HDB
作为要插入函数的符号
可能有不同的方式保存表,但最有可能的方式是这样做的
也有不同的方法来选择一个带有P.Txt文件的目录。非常有用,看看P.Txt文件是否加载在RDB上调用的.q.PAR函数。
.Q.par[`:.;.z.d;`]
如果答案只是:
`:./2020.05.09/
这意味着它正在使用启动脚本的目录
在这里,您可以找到更多关于此的文档:
在vanilla r.q脚本中,使用
.Q.hdpf[`$':“,.u.x 1;`:;x;`sym]
其中第二个参数是表保存到的目录
`:
表示当前目录。您可以将其更改为其他内容,例如`:/home/data/hdb
如果您使用的是普通r.q脚本,请参阅
在.u.rep下有一条注释,建议修改“system cd”命令,您可以在该命令中指定您喜欢的任何目录。这将更改r.q进程内的目录。然后,当调用.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"
它会将当前目录更改到此位置Yes.Q.hdpf(调用.Q.dpft)在.u.end中的我的rdb.Q文件中定义为.Q.hdpf[
$”:“,.u.x 1;:;x;
sym]`但是当我修改为.Q.hdpf[hsym
$./../HDB”,.u.x 1;:;x;
sym]`它仍然将数据保存到启动脚本的目录中