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:
- 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:
- Solusi harus di-host-sendiri.
- Notebook harus disimpan baik di server atau di Google drive atau di instance owncloud.
- (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?
software-recommendation
Dror Atariah
sumber
sumber
Jawaban:
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:
Ada juga posting blog yang mengomentari motivasinya.
sumber
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.
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?).
sumber
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!
sumber
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.
sumber
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
.sumber
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]
sumber