แบ่งปันสมุดบันทึก Jupyter ภายในทีม


22

ฉันต้องการตั้งค่าเซิร์ฟเวอร์ที่สามารถรองรับทีมงานด้านข้อมูลได้ด้วยวิธีต่อไปนี้: เป็นจุดศูนย์กลางสำหรับการจัดเก็บ, การกำหนดเวอร์ชัน, การแบ่งปันและความเป็นไปได้นอกจากนี้ยังใช้งานโน้ตบุ๊ค Jupyter

คุณสมบัติบางอย่างที่ต้องการ:

  1. ผู้ใช้ที่แตกต่างกันสามารถเข้าถึงเซิร์ฟเวอร์และเปิดและดำเนินการโน้ตบุ๊กที่จัดเก็บโดยพวกเขาหรือโดยสมาชิกในทีมอื่น ๆ คำถามที่น่าสนใจที่นี่คือสิ่งที่จะเป็นพฤติกรรมถ้าผู้ใช้ X ดำเนินการเซลล์ในสมุดบันทึกที่เขียนโดยผู้ใช้ Y. ฉันคิดว่าไม่ควรเปลี่ยนสมุดบันทึก:
  2. โซลูชันควรโฮสต์เอง
  3. ควรจัดเก็บสมุดบันทึกไว้บนเซิร์ฟเวอร์หรือบนไดรฟ์ของ Google หรือในอินสแตนซ์ของเจ้าของเองที่เป็นเจ้าของเอง
  4. (โบนัส) สมุดบันทึกจะอยู่ภายใต้การควบคุมเวอร์ชันของ git (git อาจเป็นโฮสต์ของตัวเองไม่สามารถผูกมัดกับ GitHub หรืออะไรทำนองนั้น)

ผมมองเข้าไปJupyterHubและBinder ก่อนหน้านี้ฉันไม่เข้าใจวิธีการอนุญาตให้ผู้ใช้ข้ามเข้าถึง หลังดูเหมือนว่าจะสนับสนุน GitHub เป็นที่เก็บข้อมูลของโน้ตบุ๊คเท่านั้น

คุณมีประสบการณ์กับวิธีแก้ปัญหาอย่างใดอย่างหนึ่งหรือไม่?


Kaggle ประกาศระบบที่อาจเป็นสิ่งที่คุณต้องการ
Ricardo Cruz

1
JupiterHub ตรงตามข้อเสนอนี้
dannyeuu

@dannyeuu ฉันคิดว่าคุณหมายถึง JupyterHub ใช่ไหม? เป็นไปได้ไหมที่จะแบ่งปันสมุดบันทึกผู้ใช้ข้ามกัน
Dror Atariah

ไม่ผู้ใช้แต่ละรายมี Jupyter แยกจากกัน AFAIK คุณไม่สามารถแชร์สมุดบันทึกได้อย่างง่ายดาย
Lukasz Tracewski

Google Colaboratoryมีคุณสมบัติตรงตามข้อกำหนด 3
Leponzo

คำตอบ:


2

Airbnb เพิ่งเปิดแหล่งเก็บข้อมูลความรู้ด้านวิทยาศาสตร์ภายในของพวกเขา: https://github.com/airbnb/knowledge-repo

จาก readme ของมันดูเหมือนว่ามันจะพอดีกับกรณีการใช้งานของคุณ:

โครงการคลังความรู้มุ่งเน้นไปที่การอำนวยความสะดวกในการแบ่งปันความรู้ระหว่างนักวิทยาศาสตร์ด้านข้อมูลและบทบาททางเทคนิคอื่น ๆ โดยใช้รูปแบบข้อมูลและเครื่องมือที่เหมาะสมสำหรับวิชาชีพเหล่านี้ มันมีแหล่งเก็บข้อมูลต่าง ๆ (และยูทิลิตี้เพื่อจัดการ) สำหรับ "คลังความรู้" โดยเน้นเฉพาะในโน้ตบุ๊ก (R Markdown และ Jupyter / iPython Notebook) เพื่อส่งเสริมการวิจัยที่ทำซ้ำได้ดียิ่งขึ้น

นอกจากนี้ยังมีการโพสต์บล็อกแสดงความคิดเห็นเกี่ยวกับแรงจูงใจ


2

JupyterHub ไม่ได้จัดเตรียมระบบควบคุมเวอร์ชันหรืออำนวยความสะดวกในการแบ่งปันโน้ตบุ๊ก คุณพูดถึงข้อ จำกัด ของ Binder

ลองเหาะ เวอร์ชั่น 0.7 ควรจะเปิดตัวภายในไม่กี่วันถัดไป

  • อย่างที่คุณเห็นจากโรดแมพเวอร์ชันนี้มีฟีเจอร์ "enterprise" ที่เกี่ยวกับการทำงานร่วมกัน
  • ระบบควบคุมเวอร์ชัน (git) ถูกรวมเข้าด้วยกัน
  • มันเป็นเจ้าภาพตัวเอง

โดยพื้นฐานแล้วฉันคิดว่าเป็นไปตามข้อกำหนดทั้งหมดที่คุณโพสต์ นอกเหนือจากนั้นยังมอบความสามารถในการสร้างภาพที่สมบูรณ์ยิ่งขึ้นและคุณสมบัติอื่น ๆ อีกมากมาย (ทำงานร่วมกับ Shiro, Knox, Kerberos - ปลอดภัยกับใครก็ได้ Spark?)


0

เพียงคนเดียวที่ตัวเองเป็นเจ้าภาพแก้ปัญหาผมรู้ก็คือการตั้งค่าจ่ายงูองค์กรเมฆhttps://anaconda.org/about โซลูชันอื่น ๆ ที่ฉันทราบไม่สามารถโฮสต์ได้เอง!


0

โซลูชันนี้ไม่ดีพอใช่ไหม

คุณสามารถป้องกันการเข้าถึงด้วย ssh และไฟล์ที่โฮสต์อาจเป็นที่เก็บ git ที่คุณต้องการด้วยการเข้าถึงของผู้ใช้ linux (หรืออะไรก็ตาม) คุณจะต้องใช้เซิร์ฟเวอร์ของคุณเอง


0

สิ่งที่ฉันค้นพบ - การแชร์โน้ตบุ๊กสำหรับนักวิทยาศาสตร์ด้านข้อมูลไม่ใช่รูปแบบที่ต้องการสำหรับการสื่อสาร หลายคนชอบ IDE เช่น Spider / RStudio หรือเพียงแค่เครื่องมือแก้ไขข้อความ (ฉันรู้จักนักวิทยาศาสตร์ด้านข้อมูลบางคนที่ใช้vi)

คุณอาจแชร์รหัสโดยแหล่งข้อมูลและการควบคุมของคุณโดยการจัดเก็บบนคลาวด์ มันจะเพิ่มความยืดหยุ่น

ฉันเพิ่งเปิดแหล่งที่มาซึ่งเป็นเครื่องมือที่รวมรหัสข้อมูลและการพึ่งพาระหว่างข้อมูลและรหัสกับสภาพแวดล้อมเดียวและทำให้โครงการวิทยาศาสตร์ข้อมูลของคุณทำซ้ำได้: DVC หรือ dataversioncontrol.com (มีการสอน)

ด้วยเครื่องมือ DVC คุณสามารถแชร์โครงการของคุณโดย Git ซิงค์ข้อมูลกับ S3 โดยคำสั่ง DVC เดียว 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.