チーム内でJupyterノートブックを共有する


22

次の方法でデータサイエンスチームをサポートできるサーバーをセットアップしたいと思います。Jupyterノートブックの保存、バージョニング、共有、および実行の中心点になります。

いくつかの望ましいプロパティ:

  1. さまざまなユーザーがサーバーにアクセスし、自分または他のチームメンバーによって保存されたノートブックを開いて実行できます。ここで興味深い質問は、ユーザーXがユーザーYによって作成されたノートブックのセルを実行した場合の動作はどうなるかということです。ノートブックは変更すべきではないと思います。
  2. ソリューションは自己ホスト型である必要があります。
  3. ノートブックは、サーバー、Googleドライブ、またはself-hostedのowncloudインスタンスに保存する必要があります。
  4. (ボーナス)ノートブックはgitバージョン管理下にあります(gitは自己ホストされる場合があります。GitHubまたはそのようなものにバインドすることはできません)。

JupyterHubBinderを調べました。前者では、クロスユーザーアクセスを許可する方法がわかりませんでした。後者は、ノートブックのストレージとしてGitHubのみをサポートしているようです。

いずれかのソリューションの経験がありますか?



1
JupiterHubはまさにこの提案に適しています。
-dannyeuu

@dannyeuuあなたはJupyterHubを意味すると思いますか?クロスユーザーのノートブックを共有することは可能ですか?
ドクターアタリア

いいえ、各ユーザーには個別のJupyterインスタンスが生成されます。私の知る限り、ノートブックを簡単に共有することはできません。
ルカシュトレースウスキー16

GoogleのColaboratoryは間違い要件3.満たしている
Leponzo

回答:


2

Airbnbは最近、内部データサイエンスナレッジリポジトリをオープンソースにしました:https : //github.com/airbnb/knowledge-repo

そのreadmeから、ユースケースに大まかに適合する可能性があるようです:

ナレッジリポジトリプロジェクトは、これらの職業で意味のあるデータ形式とツールを使用して、データサイエンティストと他の技術的役割との間の知識の共有を促進することに焦点を当てています。これは、より優れた再現性の研究を推進するためにノートPC(R値下げとJupyter / iPythonノートブック)を中心とし、「知識の記事」のために(それらを管理するために、ユーティリティ)は、さまざまなデータストアを提供します。

その動機についてコメントするブログ投稿もあります。


2

JupyterHubはバージョン管理システムでもノートブックの共有を容易にしていません。バインダーの制限について言及しました。

Zeppelinをお試しください。バージョン0.7は、数日以内にリリースされる予定です。

  • あなたから見ることができるように、ロードマップ、このバージョンでは正確にコラボレーションうとしている「企業」の機能を提供します。
  • バージョン管理システム(git)が統合されています。
  • 自己ホスト型です。

本質的に、あなたが投稿したすべての要件を満たしていると思います。さらに、豊富な視覚化機能と他の多くの機能を提供します(Shiro、Knox、Kerberosで動作します-誰でもセキュアなSpark?)。


0

私が知っている唯一の自己ホスト型ソリューションは、有料のAnaconda Enterpriseクラウドセットアップ、https://anaconda.org/aboutです。私が知っている他のソリューションは、自己ホスト型ではありません!


0

この解決策では十分ではありませんか?

sshを使用してアクセスを保護できます。ホストされたファイルは、異なるLinux(または任意の)ユーザーアクセスで、必要なgitリポジトリにすることができます。独自のサーバーが必要になります。


0

私が見つけたのは、データサイエンティストのためにノートブックを共有することは、コミュニケーションにとって望ましい形式ではありません。それらの多くは、Spider / RStudioのようなIDEまたは単なるテキストエディタ(私が使用するデータサイエンティストを知っていますvi)を好みます。

ソース管理でコードを共有し、クラウドストレージでデータを共有するだけです。柔軟性が向上します。

私は最近、コード、データ、およびデータとコード間の依存関係を単一の環境に結合し、データサイエンスプロジェクトを再現可能にするツールをオープンソースにしました:DVCまたはdataversioncontrol.com(チュートリアルがあります)。

DVCツールを使用すると、Gitでプロジェクトを共有したり、1つのDVCコマンドでデータをS3に同期したりできます。データサイエンティストの一部がプロジェクトの任意の段階でコードを変更することに決めた場合、最終結果は単一のコマンドで簡単に再現できますdvc repro data/target_metrics.txt


0

Domino Data Labは、施設、SaaS、およびVPCベースのノートブックホスティング(Jupyter、Zeppelin、RStudio)、git統合、スケーラブルな計算、環境テンプレート、およびその他の便利な機能を提供します。小規模なチームの場合、施設/ VPCの提供は過剰で高価すぎる可能性がありますが、SaaSプランはかなり手頃な価格です。

[完全開示:私は元Domino従業員です]

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.