Understanding Jupyterhub
Jupyter notebooks allow text, images, and interactive code cells to be presented together in one document. This allows the experience of an interactive textbook in our lab notebooks, and provides the data science student with the ability to provide code and documenation in one document. Notebooks can be Python, R, or Julia. (At this time (Fall 2025) we are only using Python and R.)
This system is meant for the bulk of your Data Science & Analytics course work.
Our Jupyterhub system uses a Kubernetes cluster that allows for flexible resources that coincide with coursework needs.
Each Jupyterhub user has their own "server" which is a Kubernetes pod, running a particular course container the user specified when spawning their pod. Several users will have pods running on the same Kubernetes node, and each node is a virtual machine running on one of the DSA physical servers.
There is a separate data server that houses user home directories, the data share used by courses, and team data shares used in Case Study and Capstone. These data shares are mounted to your pod container when you spawn your pod. These data shares persist across pod sessions, ensuring users retain access to their data even after their containers are destroyed and recreated.
The resources (memory, CPU, GPU) available to users are set in the container image that is used to spawn the pod. Additionally, these containers have the libraries necessary for specific courses. Our container images are described in this post: DSA Container Images
Need more information or help? Reach out to us at 📧 jcwdw@missouri.edu