Как совместить контроль версий с анализом данных - PullRequest
0 голосов
/ 28 октября 2010

Я много занимаюсь сольным анализом данных, используя комбинацию инструментов, таких как R, Python, PostgreSQL, и все, что мне нужно для выполнения работы. Я использую программное обеспечение для управления версиями (в настоящее время Subversion, хотя я играю с git на стороне), чтобы управлять всеми своими сценариями, но data - это непростая задача. Мои сценарии имеют тенденцию работать в течение длительного периода времени (часы или иногда дни), чтобы генерировать небольшие или большие наборы данных, которые я, в свою очередь, использую в качестве входных данных для большего количества сценариев.

Проблема, с которой я сталкиваюсь, заключается в том, как «откатить» то, что я делаю, если я хочу проверить свои сценарии с более раннего момента времени. Получить старые скрипты легко. Получить старые данные было бы легко, если бы я поместил свои данные в систему контроля версий, но общепринятым представляется вывод данных из-под контроля версий, потому что они чертовски большие и громоздкие.

Мой вопрос: как вы комбинируете и / или управляете обработанными данными с помощью системы контроля версий в своем коде?

1 Ответ

0 голосов
/ 28 октября 2010

Subversion, возможно, и другие [d] vcs, поддерживают символические ссылки.Идея состоит в том, чтобы хранить необработанные данные «хорошо организованными» в файловой системе, отслеживая связь между «сценарием» и «сгенерированной датой» с помощью символических ссылок под контролем версий.1004 * для извлечения заданного набора данных, связанного через версионную символическую ссылку с заданным набором данных.

Используя этот подход, код и вычисленные наборы данных отслеживаются в одном инструменте, не разбрасывая хранилище двоичными данными.

...