Notebooks in Ilum
সংক্ষিপ্ত বিবরণ
Ilum supports two powerful, enterprise-ready notebook environments: Jupyter (JupyterLab/JupyterHub)এবং জেপেলিন .
Both environments enable users to create interactive, executable documents that combine code, results, rich text, and dynamic visualizations—making them essential tools for data science, analytics, and engineering workflows. Ilum ensures these environments are tightly integrated with cluster resources, Spark, data storage, and version control.
Supported Notebook Environments
JupyterLab
- JupyterLab is a modern, flexible web-based IDE for notebooks and data applications.
- It runs in single-user mode: perfect for experimentation, prototyping, and personal data projects.
- In Ilum, JupyterLab is provided as the core user interface within each JupyterHub user's workspace.
JupyterHub
- JupyterHub is the enterprise, multi-user orchestrator for JupyterLab environments.
- It manages authentication (LDAP/SSO), user isolation, spawning, and centralized resource management on Kubernetes.
- Each authenticated user receives a private, persistent JupyterLab workspace with built-in Spark and Git integration.
- JupyterHub is optional in Ilum and can be enabled via Helm.
জেপেলিন
- জেপেলিন is a multi-language notebook environment that emphasizes Spark analytics, visualizations, and dashboards.
- It supports a wide array of interpreters and provides flexible visualization out of the box.
- Zeppelin is optional in Ilum and can be enabled via Helm.
Key Differences and Typical Use Cases
| বৈশিষ্ট্য / দৃষ্টিভঙ্গি | JupyterLab (Standalone) | JupyterHub (Multi-user) | জেপেলিন |
|---|---|---|---|
| User Model | Single user | Multi-user (centralized) | Single user |
| প্রমাণীকরণ | None / local only | LDAP / SSO via Ilum | None / local only |
| Resource Management | Local server | Centralized via Kubernetes | Local server |
| Workspace | Local user environment | Per-user isolated workspace | Local user environment |
| Spark Integration | Sparkmagic plugin | Sparkmagic plugin | Livy Interpreter |
| সংস্করণ নিয়ন্ত্রণ | Optional | Built-in with Gitea (per user repo) | Optional / not integrated |
| Collaboration | Git (share via repo), export | Git (share via repo), export | Share notebooks, export |
| Language Support | Python, R, Bash, Scala, SQL | Python, R, Bash, Scala, SQL | Python, Scala, SQL, Bash, others (interpreters) |
| Visualization | Jupyter widgets, matplotlib, etc. | Jupyter widgets, matplotlib, etc. | Built-in visualizations, dashboards |
| Recommended for | Prototyping, local analysis | Team workflows, reproducible research, secure enterprise analytics | Prototyping, local analysis |
Environment Selection Guide
| কেস ব্যবহার করুন | JupyterLab | JupyterHub | জেপেলিন |
|---|---|---|---|
| Personal prototyping/experiments | ✓ | ✓ | ✓ |
| Multi-user, secure, enterprise deployments | ✓ | ||
| Centralized resource & user management | ✓ | ||
| Integrated Git version control | ✓ | ✓ (per user) | |
| Ad-hoc exploration and dashboards | ✓ | ✓ | ✓ |
| Advanced Python/R data science workflows | ✓ | ✓ | |
| Spark jobs from notebooks (via Livy) | ✓ | ✓ | ✓ |
| Collaboration via Git | ✓ | ✓ | (manual sharing) |
How Notebook Environments Work in Ilum
- JupyterHub provides a central portal and login for users. After LDAP/SSO authentication, each user gets a personal JupyterLab environment on the cluster, with isolated storage and a pre-configured Spark integration. All code, notebooks, and output are private by default, but can be shared via Git (Gitea).
- JupyterLab is the UI each user interacts with—write code, run cells, visualize data, and manage files, all from the browser.
- জেপেলিন can be enabled as an alternative, supporting multi-language analytics and fast, interactive dashboards. Zeppelin leverages Livy interpreters for Spark, and supports SQL and many other interpreters.
For a technical breakdown of the architecture and flow, see:
ইলাম লিভি প্রক্সির মাধ্যমে নোটবুকগুলির সাথে ইলুম ইন্টিগ্রেশন
স্পার্কের সাথে যোগাযোগ করার জন্য, নোটবুকগুলির নির্দিষ্ট প্লাগইন প্রয়োজন।
মধ্যে জুপিটার , এই মাধ্যমে অর্জন করা হয় ম্যাজিক কমান্ড — special syntax expressions such as %%ম্যাজিক বা %ম্যাজিক এটি একটি কোড ব্লকের আচরণ পরিবর্তন করে। উদাহরণস্বরূপ %%sস্পার্ক সক্ষম স্পার্ক ম্যাজিক , ব্লকটিকে ব্যবহার করে স্পার্ক কোড চালানোর অনুমতি দেয় ইলাম কোড সার্ভিস .
জেপেলিন , অন্যদিকে, একটি ভিন্ন স্থাপত্য আছে। এটি ব্যবহার করে দোভাষী প্রতিটি ব্লকে কোড প্রক্রিয়া করতে, প্রতিটি দোভাষী একটি নির্দিষ্ট ভাষা বা পরিষেবার জন্য ডিজাইন করা হয়েছে। স্পার্কের জন্য, জেপেলিন একটি উত্সর্গীকৃত ব্যবহার করে স্পার্ক ইন্টারপ্রেটার .

But how does Ilum connect Jupyter’s Spark magic and Zeppelin’s interpreters to manage jobs and organize them into meaningful groups? It does it by utilizing Livy Server with Proxy over it.
জুপিটার সহ অনেকগুলি পরিষেবা তার স্পার্ক ম্যাজিক এবং জেপেলিন এর লিভি ইঞ্জিন সহ, স্পার্কের সাথে যোগাযোগের জন্য লিভিকে লিভারেজ দেয়। লিভি এমন একটি সার্ভার যা স্পার্কের সাথে ইন্টারঅ্যাক্ট করার জন্য একটি রেস্ট এপিআই সরবরাহ করে।
ইলাম লিভি এপিআই নামে নিজস্ব বাস্তবায়ন সরবরাহ করে ইলুম-লিভি-প্রক্সি যা ইলাম পরিষেবাদির সাথে স্পার্ক সেশনগুলিকে সীমাবদ্ধ করে। উদাহরণস্বরূপ, আপনি যদি জুপিটারে একটি লিভি সেশন তৈরি করেন তবে আপনি আপনার ইলম ওয়ার্কলোডের মধ্যে একটি সংশ্লিষ্ট কোড পরিষেবা দেখতে পাবেন।

For detailed Spark workflows and notebook-specific Spark usage, see Guide for Jupyter Notebooks.
Deployment Overview
- JupyterLab :
- JupyterLab is enabled and preconfigured by default.
- Access from Modules > JupyterLab in the Ilum UI.
- Only one instance.
- Version control (Gitea) and Spark integration are ready-to-use.
-
JupyterHub
- JupyterHub (multi-user) is not enabled and preconfigured by default (use this guide to deploy).
- Access from মডিউল > JupyterHub in the Ilum UI.
- Each user receives a private JupyterLab instance.
- Version control (Gitea) and Spark integration are ready-to-use.
-
জেপেলিন :
- Zeppelin is not enabled and preconfigured by default (use this guide to deploy).
- Access from Modules > Zeppelin in the Ilum UI.
- Pre-integrated with Livy Proxy and Spark.
Notebook Features in Ilum
All supported notebook environments provide:
- Executable, incremental cells (Python, Scala, SQL, Bash, etc.)
- Data visualization (charts, tables, widgets, dashboards)
- Integration with Spark clusters
- Access to Ilum storages and services
- Documentation via Markdown/HTML
- Data lineage and session management
- Collaboration and sharing options