KDB 将一个 table 的模式(元)复制到另一个 table 的

KDB copy one table's schema (meta) to another table's

我正在尝试将一个 table 的架构映射到另一个 table、

例如,我有 t1t2,它们具有准确的列名和顺序但数据类型不同,但我想要 (meta t2)~meta t1. //1b.

我的想法是使用 meta 复制 t1 的数据类型字符串,假设它是 "SFFFFFJJJ"。然后将t2存入.csv,用"SFFFFFJJJ"读取。这可行但不聪明,有人能想出更好的主意吗?

这个跟你说的原理是一样的,不需要保存 csv-formatted table:

{(upper (0!meta y)`t;enlist",")0:","0:x}[t1;t2]

这将 return table t1 但具有 t2 的架构。

此处,","0:xPrepare Text which converts the table into a list of strings, with data delimited by commas. The (...;...)0: is Load CSV,其中提供了类型 t2 的元数据 table。

您可以使用一个 table 的 meta 来施放另一个 table:

t2:flip(exec upper t from meta t1)$string flip t2