在团队中共享Jupyter笔记本


22

我想设置一个服务器,该服务器可以通过以下方式支持数据科学团队:作为存储,版本控制,共享以及可能执行Jupyter笔记本的中心点。

一些所需的属性:

  1. 不同的用户可以访问服务器并打开和执行由他们或其他团队成员存储的笔记本。这里有趣的问题是,会是什么行为,如果用户X执行细胞在笔记本上创作的用户Y.我猜笔记本应该被改变:
  2. 解决方案应该是自托管的。
  3. 笔记本应存储在服务器或Google驱动器上,或存储在owncloud的自托管实例中。
  4. (奖金)笔记本将受到git版本控制(git可以是自托管的。不能绑定到GitHub或类似的东西)。

我调查了JupyterHubBinder。对于前者,我不了解如何允许跨用户访问。后者似乎仅支持GitHub作为笔记本的存储。

您是否有使用任何一种解决方案的经验?


Kaggle 宣布了可能是您想要的系统。
里卡多·克鲁兹

1
JupiterHub正是针对此建议。
dannyeuu

@dannyeuu我想你的意思是JupyterHub,对吗?是否可以让跨用户笔记本共享?
Dror Atariah '16

不,每个用户都有一个单独的Jupyter实例生成。AFAIK,您无法轻松共享笔记本。
卢卡斯(Lukasz Tracewski)

谷歌Colaboratory绝对符合要求,3
Leponzo

Answers:


2

Airbnb最近开放了其内部数据科学知识资源库:https : //github.com/airbnb/knowledge-repo

从其自述文件来看,它似乎可以轻松满足您的用例:

知识存储库项目的重点是使用对这些专业有意义的数据格式和工具,促进数据科学家和其他技术角色之间的知识共享。它为“知识发布”提供了各种数据存储(以及用于管理它们的实用程序),并特别关注笔记本(R Markdown和Jupyter / iPython Notebook),以更好地促进可重复的研究。

也有一篇博客文章评论了它的动机。


2

JupyterHub不提供版本控制系统,也不促进笔记本的共享。您提到自己对Binder的限制。

尝试齐柏林飞艇。0.7版应在几天之内发布。

  • 路线图中可以看出,该版本提供了与协作完全相关的“企业”功能。
  • 集成了版本控制系统(git)。
  • 它是自托管的。

本质上,我认为它可以满足您发布的所有要求。最重要的是,它提供了更丰富的可视化功能和许多其他功能(可与Shiro,Knox,Kerberos配合使用-保护Spark有人吗?)。



0

是不是解决方案不够好?

您可以使用ssh保护访问,并且托管文件可以是所需的git存储库,并且具有不同的linux(或其他)用户访问权限。您将需要自己的服务器。


0

我发现-为数据科学家共享笔记本不是一种理想的交流方式。他们中的许多人更喜欢IDE,例如Spider / RStudio或仅是文本编辑器(我知道有一些使用的数据科学家vi)。

您可能只是通过源代码控制共享代码,并通过云存储共享数据。它将增加灵活性。

我最近开放了一个开源工具,该工具将代码,数据以及数据和代码之间的依赖关系组合到一个环境中,并使您的数据科学项目具有可重现性:DVC或dataversioncontrol.com(有教程)。

使用DVC工具,您可以仅通过Git共享项目,通过单个DVC命令将数据同步到S3。如果您的某些数据科学家决定在项目的任何阶段更改代码,则最终结果可以很容易地通过一个命令来复制dvc repro data/target_metrics.txt


0

Domino Data Lab提供前提,基于SaaS和基于VPC的笔记本托管(Jupyter,Zeppelin,RStudio),git集成,可伸缩计算,环境模板以及许多其他有用的东西。如果您是一个小型团队,则场所/ VPC产品可能会过大且价格过高,但是SaaS计划的价格相当合理。

[全面披露:我是Domino的前雇员]

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.