2013-06-24 21 views
6

我有两个目录,每个目录都包含一个日期分区的展开表格。按照预期,每个目录都有自己的sym文件。表格完全一样。将sym文件合并为展开表格

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

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

感谢

回答

4

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

  • 的两个数据库正是相同。如果在两个目录上运行校验和,哈希匹配。

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

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

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

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

这可能不会工作,除非奇迹sym值全部匹配,如果数据库的其余部分不同,他们不会这样做。这是因为枚举的sym值是全局的并且依赖于数据库中的所有sym值。如果你想在两个数据库中使用表,你需要重新列举你复制到的任何数据库的sym列。

+0

数据库不完全相同,它们只是包含相同的数据格式。所以看起来我必须读一个并保存到另一个。感谢您的帮助。 –

3

阅读一天按一天从一个目录,评估所有列举的符号栏并写入到其他目录,列举的其他符号文件。