7

我有两个目录,每个目录都包含一个日期分区的展开表。正如预期的那样,每个目录都有自己的 sym 文件。这些表完全相同。

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

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

谢谢

4

2 回答 2

5

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

  • 这两个数据库完全相同。如果在两个目录上运行校验和,则哈希匹配。

在这种情况下,为什么需要这两个副本?您可以在同一个数据库副本上运行多个 q 进程。事实上,这更可取,因为您可以从 OS 磁盘缓存提供的共享缓存中受益。只需删除其中一个副本并将所有 q 进程指向同一目录即可。

  • 这两个数据库包含从同一源加载的数据,但在其他方面并不相同。如果我用相同的查询查询每个数据库,我可能会得到相同的结果,但文件的校验和不匹配。

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

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

这可能不会起作用,除非奇迹般地 sym 值都匹配,如果数据库的其余部分不同,它们就不会。这是因为枚举的 sym 值是全局的并且依赖于数据库中的所有 sym 值。如果您想要两个数据库中的表,则需要为您复制到的任何数据库重新枚举 sym 列。

于 2013-06-25T01:24:13.197 回答
3

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

于 2013-06-24T19:31:00.330 回答