Berbagi buku catatan Jupyter dalam sebuah tim

22

Saya ingin membuat server yang dapat mendukung tim ilmu data dengan cara berikut: menjadi titik pusat untuk menyimpan, versi, berbagi, dan mungkin juga menjalankan notebook Jupyter.

Beberapa properti yang diinginkan:

  1. Pengguna yang berbeda dapat mengakses server dan membuka dan menjalankan buku catatan yang disimpan oleh mereka atau oleh anggota tim lainnya. Pertanyaan menarik di sini adalah apa yang akan menjadi perilaku jika pengguna X mengeksekusi sel dalam buku catatan yang ditulis oleh pengguna Y. Saya kira buku catatan TIDAK boleh diubah:
  2. Solusi harus di-host-sendiri.
  3. Notebook harus disimpan baik di server atau di Google drive atau di instance owncloud.
  4. (Bonus) Notebook akan berada di bawah kontrol versi git (git mungkin di-host-sendiri. Tidak dapat terikat pada GitHub atau semacamnya).

Saya melihat ke dalam JupyterHub dan Binder . Dengan yang pertama, saya tidak mengerti bagaimana mengizinkan akses lintas pengguna. Yang terakhir tampaknya hanya mendukung GitHub sebagai penyimpanan notebook.

Apakah Anda memiliki pengalaman dengan salah satu solusinya?

Dror Atariah
sumber
Kaggle mengumumkan sistem yang mungkin Anda inginkan.
Ricardo Cruz
1
JupiterHub tepat untuk usulan ini.
dannyeuu
@dannyeuu Saya menganggap Anda maksud JupyterHub, kan? Apakah mungkin untuk berbagi notebook lintas pengguna?
Dror Atariah
Tidak, setiap pengguna memiliki instance terpisah dari Jupyter. AFAIK Anda tidak dapat dengan mudah berbagi notebook.
Lukasz Tracewski
Google Colaboratory pasti memenuhi persyaratan 3.
Leponzo

Jawaban:

2

Airbnb baru-baru ini membuka sumber penyimpanan data ilmu pengetahuan internal mereka: https://github.com/airbnb/knowledge-repo

Dari readme-nya, sepertinya cocok dengan case use Anda:

Proyek Repositori Pengetahuan berfokus pada memfasilitasi berbagi pengetahuan antara ilmuwan data dan peran teknis lainnya menggunakan format data dan alat yang masuk akal dalam profesi ini. Ini menyediakan berbagai penyimpanan data (dan utilitas untuk mengelolanya) untuk "posting pengetahuan", dengan fokus khusus pada notebook (R Markdown dan Jupyter / iPython Notebook) untuk lebih mempromosikan penelitian yang dapat direproduksi.

Ada juga posting blog yang mengomentari motivasinya.

ncasas
sumber
2

JupyterHub tidak menyediakan sistem kontrol versi atau memfasilitasi berbagi Notebook. Anda menyebut diri Anda batasan Binder.

Coba Zeppelin . Versi 0.7 akan dirilis dalam beberapa hari ke depan.

  • Seperti yang dapat Anda lihat dari peta jalan , versi ini memberikan fitur "perusahaan" yang persis tentang kolaborasi.
  • Sistem kontrol versi (git) terintegrasi.
  • Di-host-sendiri.

Intinya, saya pikir itu memenuhi semua persyaratan yang Anda posting. Selain itu ia memberikan kemampuan visualisasi yang lebih kaya dan kebanyakan fitur lainnya (bekerja dengan Shiro, Knox, Kerberos - amankan Spark siapa saja?).

Lukasz Tracewski
sumber
0

Satu-satunya solusi mandiri yang saya tahu adalah pengaturan cloud Anaconda Enterprise berbayar, https://anaconda.org/about . Solusi lain yang saya sadari bukanlah permusuhan sendiri!

RHC
sumber
0

Bukankah solusi ini cukup baik?

Anda dapat melindungi akses dengan ssh, dan file yang di-host dapat menjadi repositori git yang Anda inginkan, dengan akses pengguna linux (atau apa pun) yang berbeda. Anda akan membutuhkan server Anda sendiri.

Robin
sumber
0

Apa yang saya temukan - berbagi buku catatan untuk ilmuwan data bukanlah format komunikasi yang diinginkan. Banyak dari mereka lebih suka IDE seperti Spider / RStudio atau hanya editor teks (saya tahu beberapa ilmuwan data yang menggunakan vi).

Anda mungkin hanya berbagi kode dengan kontrol sumber dan data oleh penyimpanan cloud. Ini akan meningkatkan fleksibilitas.

Saya baru-baru ini membuka sumber alat yang menggabungkan kode, data, dan dependensi antara data dan kode untuk satu lingkungan dan membuat proyek ilmu data Anda dapat direproduksi: DVC atau dataversioncontrol.com (ada tutorial).

Dengan alat DVC Anda bisa membagikan proyek Anda dengan Git, menyinkronkan data ke S3 dengan satu perintah DVC. Jika beberapa ilmuwan data Anda memutuskan untuk mengubah kode pada setiap tahap proyek Anda, maka hasil akhir dapat dengan mudah direproduksi dengan satu perintah dvc repro data/target_metrics.txt.

Dmitry Petrov
sumber
0

Domino Data Lab menawarkan tempat, SaaS, dan hosting notebook berbasis VPC (Jupyter, Zeppelin, RStudio), integrasi git, penghitungan yang dapat diukur, templat lingkungan, dan banyak hal berguna lainnya. Penawaran tempat / VPC mungkin berlebihan dan terlalu mahal jika Anda tim kecil, tetapi paket SaaS cukup terjangkau.

[Pengungkapan penuh: Saya adalah mantan karyawan Domino]

danielchalef
sumber