Я хотел бы настроить сервер, который мог бы поддерживать команду по науке данных следующим образом: быть центральным пунктом для хранения, управления версиями, совместного использования и, возможно, также выполнять записные книжки Jupyter.
Некоторые желаемые свойства:
- Различные пользователи могут получать доступ к серверу, открывать и выполнять записные книжки, которые были сохранены ими или другими членами команды. Интересный вопрос здесь состоит в том, каково было бы поведение, если пользователь X выполняет ячейки в записной книжке, созданной пользователем Y. Я предполагаю, что записную книжку НЕ следует менять:
- Решение должно быть самостоятельным.
- Записные книжки должны храниться либо на сервере, либо на диске Google, либо на собственном экземпляре owncloud.
- (Бонус) Записные книжки будут находиться под контролем версий git (git может размещаться самостоятельно. Не может быть привязан к GitHub или чему-то в этом роде).
Я посмотрел в JupyterHub и Binder . С первым я не понял, как разрешить доступ к нескольким пользователям. Последний, похоже, поддерживает только GitHub в качестве хранилища ноутбуков.
У вас есть опыт работы с любым из решений?
software-recommendation
Дрор Атария
источник
источник
Ответы:
Airbnb недавно открыл свой внутренний репозиторий знаний о данных: https://github.com/airbnb/knowledge-repo
Из его readme кажется, что он может свободно соответствовать вашему варианту использования:
Есть также сообщение в блоге, комментирующее его мотивацию.
источник
JupyterHub не предоставляет систему контроля версий и не обеспечивает совместное использование ноутбуков. Вы упомянули об ограничении Binder.
Попробуйте Zeppelin . Версия 0.7 должна быть выпущена в течение нескольких следующих дней.
По сути, я думаю, что он отвечает всем требованиям, которые вы разместили. Вдобавок ко всему, он предоставляет более богатые возможности визуализации и множество других функций (работает с Shiro, Knox, Kerberos - кто-нибудь защищает Spark?).
источник
Я знаю только одно автономное решение - платная облачная установка Anaconda Enterprise, https://anaconda.org/about . Другие известные мне решения не являются самодостаточными!
источник
Разве это решение не достаточно хорошо?
Вы можете защитить доступ с помощью ssh, и размещенные файлы могут быть желаемым репозиторием git с другим доступом пользователя linux (или любого другого). Вам понадобится ваш собственный сервер.
источник
То, что я обнаружил - совместное использование записных книжек для ученых по данным не является желательным форматом для общения. Многие из них предпочитают IDE, такие как Spider / RStudio или просто текстовые редакторы (я знаю несколько ученых, которые используют данные
vi
).Вы можете просто обмениваться кодом с помощью системы контроля версий и данными из облачных хранилищ. Это увеличит гибкость.
Недавно я открыл инструмент с открытым исходным кодом, который объединяет код, данные и зависимости между данными и кодом в одной среде и делает ваш проект в области науки о данных воспроизводимым: DVC или dataversioncontrol.com (есть учебное пособие).
С помощью инструмента DVC вы можете просто поделиться своим проектом с помощью Git, синхронизировать данные с S3 с помощью одной команды DVC. Если кто-то из ваших исследователей данных решит изменить код на любом этапе вашего проекта, то конечный результат может быть легко воспроизведен одной командой
dvc repro data/target_metrics.txt
.источник
Domino Data Lab предлагает помещения, SaaS и хостинг для ноутбуков на основе VPC (Jupyter, Zeppelin, RStudio), интеграцию с git, масштабируемые вычисления, шаблоны среды и кучу других полезных вещей. Возможности помещения / VPC могут быть излишними и слишком дорогими, если вы небольшая команда, но планы SaaS довольно разумны по цене.
[Полное раскрытие: я бывший сотрудник Domino]
источник