Je voudrais mettre en place un serveur qui pourrait prendre en charge une équipe de science des données de la manière suivante: être un point central pour le stockage, la gestion des versions, le partage et éventuellement l'exécution des blocs-notes Jupyter.
Quelques propriétés souhaitées:
- Différents utilisateurs peuvent accéder au serveur et ouvrir et exécuter des blocs-notes qui ont été stockés par eux ou par d'autres membres de l'équipe. La question intéressante ici est quel serait le comportement si l'utilisateur X exécute des cellules dans un cahier créé par l'utilisateur Y. Je suppose que le cahier ne doit PAS être modifié:
- La solution doit être auto-hébergée.
- Les ordinateurs portables doivent être stockés sur le serveur ou sur Google Drive ou sur une instance auto-hébergée de owncloud.
- (Bonus) Les ordinateurs portables seront sous contrôle de version de git (git peut être auto-hébergé. Ne peut pas être lié à GitHub ou quelque chose de ce genre).
J'ai regardé JupyterHub et Binder . Avec le premier, je ne comprenais pas comment autoriser l'accès entre utilisateurs. Ce dernier ne semble prendre en charge GitHub que comme stockage des ordinateurs portables.
Avez-vous de l'expérience avec l'une ou l'autre des solutions?
software-recommendation
Dror Atariah
la source
la source
Réponses:
Airbnb a récemment ouvert son référentiel interne de connaissances en science des données: https://github.com/airbnb/knowledge-repo
D'après son fichier Lisez-moi, il semble qu'il puisse s'adapter à votre cas d'utilisation:
Il y a aussi un article de blog commentant sa motivation.
la source
JupyterHub ne fournit pas de système de contrôle de version et ne facilite pas le partage des ordinateurs portables. Vous avez mentionné vous-même la limitation de Binder.
Essayez Zeppelin . La version 0.7 devrait sortir dans quelques jours.
En substance, je pense qu'il répond à toutes les exigences que vous avez publiées. En plus de cela, il offre des capacités de visualisation plus riches et une pléthore d'autres fonctionnalités (fonctionne avec Shiro, Knox, Kerberos - sécurisé Spark n'importe qui?).
la source
La seule solution auto-hébergée que je connaisse est la configuration payante du cloud d'Anaconda Enterprise, https://anaconda.org/about . Les autres solutions que je connais ne sont pas auto-hébergeables!
la source
N'est- ce pas solution assez bonne?
Vous pouvez protéger l'accès avec ssh, et les fichiers hébergés peuvent être le référentiel git que vous souhaitez, avec différents accès utilisateur Linux (ou autre). Vous aurez besoin de votre propre serveur.
la source
Ce que j'ai trouvé - le partage de cahiers pour les scientifiques des données n'est pas un format souhaitable pour la communication. Beaucoup d'entre eux préfèrent l'IDE comme Spider / RStudio ou tout simplement un éditeur de texte (je connais quelques scientifiques de données qui l'utilisent
vi
).Vous pouvez simplement partager du code par votre contrôle de source et des données par des stockages cloud. Cela augmentera la flexibilité.
J'ai récemment ouvert un outil qui combine le code, les données et les dépendances entre les données et le code dans un environnement unique et rend votre projet de science des données reproductible: DVC ou dataversioncontrol.com (il y a un tutoriel).
Avec l'outil DVC, vous pouvez simplement partager votre projet par Git, synchroniser les données avec S3 par une seule commande DVC. Si certains de vos scientifiques des données décident de modifier le code à n'importe quelle étape de votre projet, le résultat final pourrait être facilement reproduit par une seule commande
dvc repro data/target_metrics.txt
.la source
Domino Data Lab propose l'hébergement local, SaaS et VPC (Jupyter, Zeppelin, RStudio), l'intégration git, le calcul évolutif, les modèles d'environnement et bien d'autres choses utiles. Les offres de locaux / VPC peuvent être excessives et trop chères si vous êtes une petite équipe, mais les plans SaaS sont à un prix assez raisonnable.
[Divulgation complète: je suis un ancien employé de Domino]
la source