2013-06-24 7 views
6

У меня есть две директории, каждая из которых содержит разбитую по дате таблицу. Каждый каталог имеет свой собственный файл sym, как и ожидалось. Таблицы точно такие же.Объединение сим-файлов для распущенных таблиц

Я хочу объединить это в один каталог, но у меня возникают проблемы с этим. Сначала я попытался создать софт-ссылку (из-за больших объемов данных) разделов в другом каталоге. Это не сработало, поскольку таблицы использовали неправильный файл sym.

Есть ли у кого-нибудь идеи, как лучше всего это сделать? Нужно ли мне восстанавливать новый файл sym для обоих каталогов?

Благодаря

ответ

4

Я не уверен, что я точно понимаю, в чем ваша ситуация, но я могу придумать несколько возможностей.

  • две базы данных точно то же самое. Если запустить контрольную сумму в обоих каталогах, хеши будут совпадать.

В этом случае, зачем вам две копии? Вы можете запускать несколько процессов q из одной и той же копии базы данных. На самом деле это предпочтительнее, потому что вы получаете преимущество от общего кэширования, предоставляемого дисковым кэшем ОС. Просто удалите одну из копий и укажите все q процессов в один и тот же каталог.

  • Две базы данных содержат данные, загруженные из одного источника, но в остальном не совпадают. Если я запрашиваю каждую из баз данных с одним и тем же запросом, я могу получить тот же результат, но контрольные суммы файлов не совпадают.

Это может произойти, если базы данных были созданы независимо, но с одинаковыми исходными данными. Если вы фактически не сделали копию файлов, вы не можете предположить, что базы данных одинаковы. Очевидным примером является то, что у вас была куча файлов, загружаемых в каждую базу данных, но порядок загружаемых файлов был различным для каждой базы данных. В этом случае вы не можете использовать тот же файл sym! Это сделает данные посмотреть OK на первый взгляд, но все ваши значения символов неверны. Если вы хотите по какой-то причине объединить две базы данных, вам нужно будет взять данные из одной базы данных и загрузить ее в другую. Это единственный надежный способ быть на 100% уверенным, что вы не повредите свои данные.

  • У вас есть две разные базы данных, каждая из которых содержит ту же таблицу (в смысле контрольной суммы, возможно, вы скопировали файлы таблицы из одной директории в другую).

Это, вероятно, не сработает, если каким-либо чудом значения sym все совпадут, что не будет, если остальная база данных будет другой. Это связано с тем, что перечисленные значения sym являются глобальными и зависят от всех значений sym в базе данных. Если вам нужна таблица в обеих базах данных, вам нужно будет повторно подсчитать столбцы sym для той копии, в которую вы копируете.

+0

Базы данных не совсем одинаковы, они просто содержат один и тот же формат данных. Похоже, мне нужно будет прочитать его и сохранить его другому.Спасибо за помощь. –

3

Читать в день за днем ​​из одной директории, оценить все перечисленные столбцы SYM и запись в другой каталог, перечисляя на другой файл сим.