在 kdb 中注销后内存中没有 table
No table in memory after logout in kdb
当我退出会话时,我的 table 被删除。
我该怎么办,所以当我连接到 kdb 时,我再次看到我的 tables。
我的 tables 应该包含几个月的数据,这些数据是从文件中增量添加的。其他人也应该可以访问它们。
PS:当然,我明白了,我可以将它们保存到文件中,然后再恢复。但是我需要它们在内存中而不保存到任何文件
简单示例
我load/createtable
rlwrap $HOME/l64/l64/q
t:flip `c1`c2`c3!(`a`b`c;42;1.1)
Ctrl+z - 注销
rlwrap $HOME/l64/l64/q
没有tablet
如果这些是您定义的表,例如 t:flip `c1`c2`c3!(`a`b`c;42;1.1)
您可以创建一个 example.q 文件来定义它们。然后像这样启动 q:
rlwrap $HOME/l64/l64/q example.q
此外,我建议将 q 作为 rlwrap 的别名添加到 .bashrc,这样您就不必每次都输入它。
alias q='QHOME=~/q rlwrap -r ~/q/l32/q'
运行 rlwrap $HOME/l64/l64/q
再次打开一个 new q
会话。您不应该期望在那里看到另一个会话的 table。
如果您想将数据从一个 q
会话拉到另一个会话,您将需要使用 ipc。为此,您需要在第一个 q
会话中使用命令行标志打开一个端口:
rlwrap $HOME/l64/l64/q -p 5042
或来自流程本身:
q)\p 5042
q)t:flip `c1`c2`c3!(`a`b`c;42;1.1)
然后在第二个 q
过程中可以将 table 拉过来:
q)h:hopen`::5042
q)h`t
c1 c2 c3
---------
a 42 1.1
b 42 1.1
c 42 1.1
q)hclose h
同一台服务器上的任何其他人都可以连接到您的端口。如果您的 table 足够大(特别是如果它们是分区的),您需要小心其他用户可以使用的查询类型。我建议阅读 Permissions with kdb+.
上的 Kx 白皮书
你第二次 运行 q 你正在开始一个新的 q 会话。
如果您想重新连接到现有会话,请使用 fg
将其带回前台
要让其他用户访问这些表,您必须 运行 在端口上进行 q 并允许用户通过 hopen
访问和进行查询
当我退出会话时,我的 table 被删除。
我该怎么办,所以当我连接到 kdb 时,我再次看到我的 tables。
我的 tables 应该包含几个月的数据,这些数据是从文件中增量添加的。其他人也应该可以访问它们。
PS:当然,我明白了,我可以将它们保存到文件中,然后再恢复。但是我需要它们在内存中而不保存到任何文件
简单示例
我load/createtable
rlwrap $HOME/l64/l64/q
t:flip `c1`c2`c3!(`a`b`c;42;1.1)
Ctrl+z - 注销
rlwrap $HOME/l64/l64/q
没有tablet
如果这些是您定义的表,例如 t:flip `c1`c2`c3!(`a`b`c;42;1.1)
您可以创建一个 example.q 文件来定义它们。然后像这样启动 q:
rlwrap $HOME/l64/l64/q example.q
此外,我建议将 q 作为 rlwrap 的别名添加到 .bashrc,这样您就不必每次都输入它。
alias q='QHOME=~/q rlwrap -r ~/q/l32/q'
运行 rlwrap $HOME/l64/l64/q
再次打开一个 new q
会话。您不应该期望在那里看到另一个会话的 table。
如果您想将数据从一个 q
会话拉到另一个会话,您将需要使用 ipc。为此,您需要在第一个 q
会话中使用命令行标志打开一个端口:
rlwrap $HOME/l64/l64/q -p 5042
或来自流程本身:
q)\p 5042
q)t:flip `c1`c2`c3!(`a`b`c;42;1.1)
然后在第二个 q
过程中可以将 table 拉过来:
q)h:hopen`::5042
q)h`t
c1 c2 c3
---------
a 42 1.1
b 42 1.1
c 42 1.1
q)hclose h
同一台服务器上的任何其他人都可以连接到您的端口。如果您的 table 足够大(特别是如果它们是分区的),您需要小心其他用户可以使用的查询类型。我建议阅读 Permissions with kdb+.
上的 Kx 白皮书你第二次 运行 q 你正在开始一个新的 q 会话。
如果您想重新连接到现有会话,请使用 fg
要让其他用户访问这些表,您必须 运行 在端口上进行 q 并允许用户通过 hopen
访问和进行查询