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:
- 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:
- Rozwiązanie powinno być hostowane samodzielnie.
- Notatniki powinny być przechowywane na serwerze lub na dysku Google lub na własnym serwerze instancji owncloud.
- (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ń?
software-recommendation
Dror Atariah
źródło
źródło
Odpowiedzi:
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:
Jest też post na blogu komentujący jego motywację.
źródło
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.
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ę?).
źródło
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!
źródło
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.
źródło
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
.źródło
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]
źródło