Совместное использование ноутбуков Jupyter в команде

22

Я хотел бы настроить сервер, который мог бы поддерживать команду по науке данных следующим образом: быть центральным пунктом для хранения, управления версиями, совместного использования и, возможно, также выполнять записные книжки Jupyter.

Некоторые желаемые свойства:

  1. Различные пользователи могут получать доступ к серверу, открывать и выполнять записные книжки, которые были сохранены ими или другими членами команды. Интересный вопрос здесь состоит в том, каково было бы поведение, если пользователь X выполняет ячейки в записной книжке, созданной пользователем Y. Я предполагаю, что записную книжку НЕ следует менять:
  2. Решение должно быть самостоятельным.
  3. Записные книжки должны храниться либо на сервере, либо на диске Google, либо на собственном экземпляре owncloud.
  4. (Бонус) Записные книжки будут находиться под контролем версий git (git может размещаться самостоятельно. Не может быть привязан к GitHub или чему-то в этом роде).

Я посмотрел в JupyterHub и Binder . С первым я не понял, как разрешить доступ к нескольким пользователям. Последний, похоже, поддерживает только GitHub в качестве хранилища ноутбуков.

У вас есть опыт работы с любым из решений?

Дрор Атария
источник
Kaggle объявил о системе, которая может быть тем, что вы хотите.
Рикардо Крус
1
JupiterHub именно для этого и предлагает.
dannyeuu
@ Dannyeuu Я полагаю, вы имели в виду JupyterHub, верно? Возможно ли совместное использование ноутбуков между пользователями?
Дрор Атария
Нет, у каждого пользователя есть свой экземпляр Jupyter. AFAIK, вы не можете легко поделиться ноутбуками.
Лукаш Трасевски
Колаборатория Google определенно соответствует требованию 3.
Лепонцо

Ответы:

2

Airbnb недавно открыл свой внутренний репозиторий знаний о данных: https://github.com/airbnb/knowledge-repo

Из его readme кажется, что он может свободно соответствовать вашему варианту использования:

Проект хранилища знаний направлен на облегчение обмена знаниями между учеными в области данных и другими техническими ролями с использованием форматов данных и инструментов, которые имеют смысл в этих профессиях. Он предоставляет различные хранилища данных (и утилиты для их управления) для «постов знаний», с особым акцентом на ноутбуки (R Markdown и Jupyter / iPython Notebook), чтобы лучше продвигать воспроизводимые исследования.

Есть также сообщение в блоге, комментирующее его мотивацию.

ncasas
источник
2

JupyterHub не предоставляет систему контроля версий и не обеспечивает совместное использование ноутбуков. Вы упомянули об ограничении Binder.

Попробуйте Zeppelin . Версия 0.7 должна быть выпущена в течение нескольких следующих дней.

  • Как вы можете видеть из дорожной карты , эта версия предоставляет «корпоративные» функции, которые предназначены именно для совместной работы.
  • Система контроля версий (git) интегрирована.
  • Это самостоятельно.

По сути, я думаю, что он отвечает всем требованиям, которые вы разместили. Вдобавок ко всему, он предоставляет более богатые возможности визуализации и множество других функций (работает с Shiro, Knox, Kerberos - кто-нибудь защищает Spark?).

Лукаш Трачевски
источник
0

Я знаю только одно автономное решение - платная облачная установка Anaconda Enterprise, https://anaconda.org/about . Другие известные мне решения не являются самодостаточными!

RHC
источник
0

Разве это решение не достаточно хорошо?

Вы можете защитить доступ с помощью ssh, и размещенные файлы могут быть желаемым репозиторием git с другим доступом пользователя linux (или любого другого). Вам понадобится ваш собственный сервер.

Робин
источник
0

То, что я обнаружил - совместное использование записных книжек для ученых по данным не является желательным форматом для общения. Многие из них предпочитают IDE, такие как Spider / RStudio или просто текстовые редакторы (я знаю несколько ученых, которые используют данные vi).

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

Недавно я открыл инструмент с открытым исходным кодом, который объединяет код, данные и зависимости между данными и кодом в одной среде и делает ваш проект в области науки о данных воспроизводимым: DVC или dataversioncontrol.com (есть учебное пособие).

С помощью инструмента DVC вы можете просто поделиться своим проектом с помощью Git, синхронизировать данные с S3 с помощью одной команды DVC. Если кто-то из ваших исследователей данных решит изменить код на любом этапе вашего проекта, то конечный результат может быть легко воспроизведен одной командой dvc repro data/target_metrics.txt.

Дмитрий Петров
источник
0

Domino Data Lab предлагает помещения, SaaS и хостинг для ноутбуков на основе VPC (Jupyter, Zeppelin, RStudio), интеграцию с git, масштабируемые вычисления, шаблоны среды и кучу других полезных вещей. Возможности помещения / VPC могут быть излишними и слишком дорогими, если вы небольшая команда, но планы SaaS довольно разумны по цене.

[Полное раскрытие: я бывший сотрудник Domino]

danielchalef
источник