在 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
如果有两个实例: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