У меня есть несколько проектов, которые используют и обновляют одни и те же источники данных. Недавно я узнал об реестрах данных dvc, которые кажутся отличным способом управления версиями. данные по этим различным проектам (например, парсеры, вычислительные конвейеры).
Я поместил все соответствующие данные в data-registry
, а затем импортировал соответствующие файлы в проект парсинга с помощью:
$ poetry run dvc import https://github.com/username/data-registry raw
где raw
— это каталог, в котором хранятся очищенные данные. Кажется, это сработало правильно, но затем, когда я начал строить конвейер dvc, вывел данные в файл, который уже отслеживался dvc, я получил ошибку:
$ dvc run -n menu_items -d src/ -o raw/menu_items/restaurant.jsonl scrapy crawl restaurant
ERROR: Paths for outs:
'raw'('raw.dvc')
'raw/menu_items/restaurant.jsonl'('menu_items')
overlap. To avoid unpredictable behaviour, rerun command with non overlapping outs paths.
Может ли кто-нибудь помочь мне понять, что здесь происходит? Как лучше всего использовать реестры данных для обмена данными между проектами и их обновления?
В идеале я хотел бы обновить реестр данных новыми данными из проекта скребка, а затем разрешить другим зависимым проектам обновлять свои данные, когда они будут готовы это сделать.
dvc import
файл restaurant.jsonl вместо всего каталогаraw
: ОШИБКА: вывод 'restaurant.jsonl' уже указан на этапе: 'restaurant.jsonl.dvc'. - person dino   schedule 28.02.2021