Udostępnianie notatników Jupyter w zespole

22

Chciałbym skonfigurować serwer, który mógłby wspierać zespół zajmujący się badaniami danych w następujący sposób: być centralnym punktem do przechowywania, wersjonowania, udostępniania i ewentualnego wykonywania notatników Jupyter.

Niektóre pożądane właściwości:

  1. Różni użytkownicy mogą uzyskać dostęp do serwera oraz otwierać i uruchamiać notesy, które były przez nich przechowywane lub przez innych członków zespołu. Ciekawym pytaniem jest, jakie byłoby zachowanie, gdyby użytkownik X wykonywał komórki w notatniku autorstwa użytkownika Y. Myślę, że notebook NIE powinien zostać zmieniony:
  2. Rozwiązanie powinno być hostowane samodzielnie.
  3. Notatniki powinny być przechowywane na serwerze lub na dysku Google lub na własnym serwerze instancji owncloud.
  4. (Premia) Notebooki będą pod kontrolą wersji git (git może być hostowany samodzielnie. Nie można go powiązać z GitHub ani czymś podobnym).

Zajrzałem do JupyterHub i Binder . W przypadku tego pierwszego nie rozumiałem, jak zezwolić na dostęp wielu użytkownikom. Ten ostatni wydaje się obsługiwać tylko GitHub jako miejsce do przechowywania notebooków.

Czy masz doświadczenie z którymkolwiek z tych rozwiązań?

Dror Atariah
źródło
Kaggle ogłosił system, który może być tym, czego chcesz.
Ricardo Cruz,
1
JupiterHub jest właśnie dla tej propozycji.
dannyeuu
@dannyeuu Zakładam, że miałeś na myśli JupyterHub, prawda? Czy możliwe jest udostępnianie notatników dla wielu użytkowników?
Dror Atariah
Nie, każdy użytkownik ma osobną instancję spawnowania Jupyter. AFAIK - nie możesz łatwo udostępniać notatników.
Łukasz Tracewski,
Google Colaboratory zdecydowanie spełnia wymaganie 3.
Leponzo

Odpowiedzi:

2

Airbnb niedawno otworzył swoje wewnętrzne repozytorium wiedzy o danych: https://github.com/airbnb/knowledge-repo

Z pliku Readme wydaje się, że może luźno pasować do Twojego przypadku użycia:

Projekt Repozytorium wiedzy koncentruje się na ułatwianiu wymiany wiedzy między naukowcami danych i innymi rolami technicznymi przy użyciu formatów danych i narzędzi, które mają sens w tych zawodach. Zapewnia różne magazyny danych (i narzędzia do zarządzania nimi) dla „postów wiedzy”, ze szczególnym uwzględnieniem notebooków (R Markdown i Jupyter / iPython Notebook) w celu lepszego promowania powtarzalnych badań.

Jest też post na blogu komentujący jego motywację.

ncasas
źródło
2

JupyterHub nie zapewnia systemu kontroli wersji ani nie ułatwia udostępniania notebooków. Wspomniałeś o ograniczeniu Binder.

Próbować Zeppelin . Wersja 0.7 powinna zostać wydana w ciągu kilku najbliższych dni.

  • Jak widać z mapy drogowej , ta wersja zapewnia funkcje „korporacyjne”, które dokładnie dotyczą współpracy.
  • System kontroli wersji (git) jest zintegrowany.
  • Jest hostowany.

Zasadniczo myślę, że spełnia wszystkie opublikowane wymagania. Co więcej, zapewnia bogatsze możliwości wizualizacji i mnóstwo innych funkcji (współpracuje z Shiro, Knox, Kerberos - zabezpieczyć Iskrę?).

Łukasz Tracewski
źródło
0

Jedynym znanym mi rozwiązaniem hostowanym jest płatna konfiguracja chmury Anaconda Enterprise, https://anaconda.org/about . Inne znane mi rozwiązania nie są hostowalne!

RHC
źródło
0

Czy to rozwiązanie nie jest wystarczająco dobre?

Możesz zabezpieczyć dostęp za pomocą ssh, a hostowane pliki mogą być repozytorium git, które chcesz, z innym dostępem użytkownika do linuksa (lub innego). Będziesz potrzebował własnego serwera.

Rudzik
źródło
0

To, co znalazłem - udostępnianie notatników dla naukowców danych nie jest pożądanym formatem komunikacji. Wielu z nich woli IDE, takie jak Spider / RStudio lub tylko edytory tekstu (znam kilku badaczy danych, którzy używająvi ).

Możesz po prostu współdzielić kod przez kontrolę źródła, a dane przez magazyny w chmurze. Zwiększy elastyczność.

Niedawno otworzyłem źródło narzędzia, które łączy kod, dane i zależności między danymi i kodem w jednym środowisku i sprawia, że ​​twój projekt nauki danych jest odtwarzalny: DVC lub dataversioncontrol.com (jest tutorial).

Za pomocą narzędzia DVC możesz po prostu udostępniać swój projekt przez Git, synchronizować dane z S3 za pomocą jednego polecenia DVC. Jeśli niektórzy z Twoich naukowców zajmujących się danymi zdecydują się zmienić kod na dowolnym etapie projektu, ostateczny wynik można łatwo odtworzyć za pomocą jednego polecenia dvc repro data/target_metrics.txt.

Dmitrij Pietrow
źródło
0

Domino Data Lab oferuje hosting lokali, hosting SaaS i VPC (Jupyter, Zeppelin, RStudio), integrację z git, skalowalne obliczenia, szablony środowiska i wiele innych przydatnych rzeczy. Oferty lokali / VPC mogą być przesadzone i zbyt drogie, jeśli jesteś małym zespołem, ale plany SaaS są dość rozsądne.

[Pełne ujawnienie: jestem byłym pracownikiem Domino]

danielchalef
źródło