在 kdb 中加载 hdb 时屏蔽一些字段

Mask some fields when loading hdb in kdb

如果有两个实例:a1和a2,并且都连接到同一个hdb。我想要 a2 连接到 hdb 但添加一些过滤器。比如有一个table叫elec.

我希望 a2 从过滤一些值开始。如果我写代码,启动的时候让a2加载,那不就把信息加载到内存了吗?有什么方法可以在启动 a2 实例时像普通 hdb 一样加载它吗?

基本上,问题是如何在加载 hdb 时屏蔽一个 table 中的某些字段?

可以防止 select 语句返回的列是在 HDB 实例中操纵 table 定义。下面的示例有一个分区的日期 table。我们将定义更新为仅定义了列子集的翻转字典。然而,这是可逆的,不会更新您实例中 table 的元数据,它仍会显示所有列。

q)meta trade
c   | t f a
----| -----
date| d
sym | s   p
size| j
px  | f
side| s

q)flip trade
`sym`size`px`side!`trade


q)`trade set flip `sym`size`px!`trade
q)select from trade where date=2017.05.27
date       sym  size px
------------------------------
2017.05.27 APPl 9968 92.79204
2017.05.27 APPl 9788 94.97189
2017.05.27 APPl 9660 27.62907

q)meta trade
c   | t f a
----| -----
date| d
sym | s   p
size| j
px  | f
side| s