Kdb 合并八字表的sym文件

Kdb 合并八字表的sym文件,kdb,q-lang,Kdb,Q Lang,我有两个目录,每个目录都包含一个日期分区的八字表。每个目录都有自己的sym文件。这些桌子完全一样 我想将其合并到一个目录中,但在这样做时遇到问题。最初,我尝试在另一个目录中创建分区的软链接(由于数据量很大)。这不起作用,因为表使用了错误的sym文件 有人知道如何最好地做到这一点吗?我必须为这两个目录重新生成新的sym文件吗 感谢每天从一个目录中读取,评估所有枚举的sym列,然后写入另一个目录,在另一个sym文件中枚举。我不确定我是否确切了解您的情况,但我可以想到一些可能性 这两个数据库完全相同

我有两个目录,每个目录都包含一个日期分区的八字表。每个目录都有自己的sym文件。这些桌子完全一样

我想将其合并到一个目录中,但在这样做时遇到问题。最初,我尝试在另一个目录中创建分区的软链接(由于数据量很大)。这不起作用,因为表使用了错误的sym文件

有人知道如何最好地做到这一点吗?我必须为这两个目录重新生成新的sym文件吗


感谢

每天从一个目录中读取,评估所有枚举的sym列,然后写入另一个目录,在另一个sym文件中枚举。

我不确定我是否确切了解您的情况,但我可以想到一些可能性

  • 这两个数据库完全相同。如果在两个目录上运行校验和,哈希值将匹配
在这种情况下,您为什么需要这两份副本?您可以在同一个数据库副本上运行多个q进程。事实上,这更可取,因为您可以从OS磁盘缓存提供的共享缓存中获益。只需删除其中一个副本,并将所有q进程指向同一目录

  • 这两个数据库包含从同一源加载的数据,但在其他方面不相同。如果使用相同的查询查询每个数据库,可能会得到相同的结果,但文件的校验和不匹配
如果数据库是独立创建的,但具有相同的源数据,则可能发生这种情况。除非您实际制作了文件的副本,否则不能真正假设数据库是相同的。一个明显的例子是,您在每个数据库中加载了一堆文件,但每个数据库加载文件的顺序不同。在这种情况下,您不能使用相同的sym文件!这样做会使数据乍一看是正常的,但所有的sym值都是错误的。如果出于某种原因确实希望合并这两个数据库,则需要从一个数据库获取数据并将其加载到另一个数据库中。这是100%确保您不会损坏数据的唯一可靠方法

  • 您有两个不同的数据库,每个数据库包含完全相同的表(在校验和意义上,可能是您将表文件从一个目录复制到另一个目录)

除非sym值都匹配,否则这可能不起作用,如果数据库的其余部分不同,它们就不会匹配。这是因为枚举的sym值是全局的,并且依赖于数据库中的所有sym值。如果要在两个数据库中都使用该表,则需要重新计算复制到哪个数据库的sym列。

这些数据库并不完全相同,它们只包含相同的数据格式。看来我得读一个,然后保存到另一个。谢谢你的帮助。