2013-04-19 2 views
1

Я создал разбитый db, который получает данные из ежедневных сохраненных файлов. Он работает нормально, но я обеспокоен тем, что kdb может добавлять повторяющиеся строки, если я дважды запускаю сценарий раздела с теми же файлами дня.Как обеспечить, чтобы данные таблицы разделенных kdb не дублировались?

Должен ли я использовать «ключ» для проверки существования секционированных таблиц или есть более простой способ застраховать, что kdb не будет дублировать сохраненные данные?

ответ

1

Я не уверен, что ваша проблема в том, что 1) вы боитесь, что вы загрузите один и тот же файл более одного раза или 2) несколько файлов могут содержать одни и те же данные, поэтому вам не нужны последующие загрузки для создания дубликатов.

Для 1), если ежедневные сохраненные файлы, которые используются для создания БД, не обновляются и не имеют уникальных имен, вы можете отслеживать, какие файлы уже были загружены, и пропустить их при последующих запусках.

2) Даже если вы не можете физически закрепить таблицу, у вас, вероятно, есть определенные «ключевые» столбцы, например. sym, дата, время, сторона и т. д. Вы можете проверить, отображаются ли «ключевые» значения загружаемого вами фрагмента в разделе даты. Если они это сделают, отбросьте эти записи, оставив остальных.

+0

Это 1). Есть ли способ kdb для отслеживания загруженных файлов, или мне нужно будет сохранить какой-то пользовательский индикатор на диске? Я искал настройку разрешения kdb для блокировки записи после создания. Это было бы самым безопасным решением. Дублирование строк случайно приведет к катастрофе для анализа данных, который я выполняю, и дополнительные строки не будут сразу обнаруживаться. –

+0

Вам нужно будет сохранить эту информацию самостоятельно. Вы можете включить столбец, который указывает файл, который содержит каждую запись в таблице. Имеются ли в каждом файле отдельные данные дня или есть ли несколько файлов на дату или даты на файл? – user1895961

+0

Существует несколько файлов для каждой даты. Если я буду хранить один и тот же файл дважды, я бы исказил данные и дал неправильные результаты. Что делать, если я играю с разрешениями файла linux в каталоге разделов после создания? –