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

时间:2017-06-05 16:27:27

标签: database kdb

如果有两个实例:a1和a2,并且都连接到同一个hdb。我想a2连接到hdb但添加一些过滤器。例如,有一个名为elec的表。

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

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

1 个答案:

答案 0 :(得分:2)

可以防止select语句返回列操作HDB实例中的表定义。以下示例具有单个日期分区表。我们将定义更新为翻译的字典,只定义了列的子集。然而,这是可逆的,并且不会更新您的实例中仍将显示所有列的表的元数据。

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