Zeppelin a Ilum
Panoramica
Zeppelin è una piattaforma notebook interattiva basata sul Web per l'esplorazione, la visualizzazione e l'analisi dei dati su piattaforme di big data come Apache Spark.
In Ilum, Zeppelin è strettamente integrato con i servizi principali di Ilum, tra cui il cluster Spark e Ilum-Livy-Proxy. Supporta l'analisi collaborativa e multilingue con potenti capacità di visualizzazione, che lo rendono ideale per analisi ad hoc, dashboard e flussi di lavoro dei dati del team.
Nota:
- Zeppelin è facoltativo in Ilum. Può essere abilitato e gestito come modulo separato.
- Zeppelin provides a different experience from JupyterLab—see the comparison tables in Panoramica dei blocchi appunti.
- Attualmente, Zeppelin a Ilum NON fornisce alcuna autenticazione o controllo dell'accesso degli utenti. Chiunque possa accedere all'interfaccia web di Zeppelin ha pieno accesso a tutti i notebook e le funzionalità.
Caratteristiche principali
- Analisi multilingue:
Use interpreters to run code in Python, Scala, SQL, Bash, and more—all in a single document. - Supporto Spark di prima classe:
Gli interpreti Spark dedicati (tramite Livy) consentono di eseguire i processi Spark direttamente dalle celle del notebook, supportando entrambi%livy.spark(Scala) e%livy.pyspark(Pitone). - Visualizzazioni integrate:
Instantly generate bar charts, line plots, pie charts, tables, and more from SQL/Spark results—no additional coding required. - Collaborazione in team:
I blocchi appunti possono essere condivisi tra gli utenti e le visualizzazioni possono essere combinate in dashboard per la presentazione. - Esecuzione dinamica, blocco per blocco:
Esegui le celle in modo incrementale e visualizza i risultati in tempo reale. - Integrazione con i servizi Ilum:
Accesso ai cluster Spark di Ilum, all'archiviazione, alla derivazione e al server di cronologia tramite Ilum-Livy-Proxy.
Zeppelin in Ilum contro JupyterLab/JupyterHub
| Aspetto | Zeppelin | JupyterLab / JupyterHub |
|---|---|---|
| Modello utente | Blocchi appunti condivisi (senza isolamento) | Multiutente (JupyterHub), utente singolo (JupyterLab) |
| Autenticazione | Nessuna autenticazione | LDAP/SSO tramite Ilum |
| Isolamento dell'area di lavoro | Condiviso o per blocco appunti | Per utente (JupyterHub), condiviso/singolo (JupyterLab) |
| Integrazione con Spark | Interpreti Livy integrati | Sparkmagic Magics e Livy Proxy |
| Controllo della versione | Manuale per l'esportazione | Git (integrazione Gitea) |
| Visualizzazione | Grafici/dashboard integrati | Widgets, matplotlib, plotly, ecc. |
| Ideale per | Dashboard, analisi ad hoc, esplorazione interattiva dei dati | Pipeline di data science, ML, flussi di lavoro riproducibili |
Accesso e distribuzione
- Abilita Zeppelin in Ilum:
Zeppelin è Non abilitato per impostazione predefinita. Puoi abilitarlo tramite Helm:Aggiornamento dell'elmo \
--mettere ilum-zeppelin.enabled=vero \
--valori-di-riutilizzo \
ilum ilum/ilum
-
Accedi all'interfaccia utente di Zeppelin: Dopo il dispiegamento, accedere a Zeppelin tramite Moduli > Zeppelin
-
Autenticazione: Attualmente, Zeppelin a Ilum NON fornisce alcuna autenticazione o controllo degli accessi. Chiunque riesca a raggiungere l'interfaccia utente web di Zeppelin (tramite browser) avrà pieno accesso per creare, modificare, eseguire ed eliminare tutti i taccuini.
Come funziona lo Zeppelin a Ilum
- Architettura dell'interprete:
Zeppelin utilizza interpreti per ogni lingua o sistema (ad esempio,
%livy.spark,%livy.pyspark,%livy.sql). Ogni interprete si connette tramite Ilum-Livy-Proxy ai cluster Spark, mappando i blocchi del notebook ai processi Spark e ai servizi di codice. - Gestione delle sessioni:
Per ogni notebook vengono create sessioni Spark separate per
%livy.spark(Scala),%livy.pyspark(Python) e%livy.sql(SQL). Le sessioni vengono gestite automaticamente, ma possono essere configurate tramite le impostazioni dell'interprete. - Integrazione con i servizi Ilum: Spark jobs launched from Zeppelin are visible in the Ilum UI (Workloads). These sessions inherit all cluster integrations—Hive Metastore, lineage, storage access, and monitoring.
Esempi di flussi di lavoro
Esempi e flussi di lavoro pratici per Zeppelin (inclusa l'esecuzione di Spark, SQL, visualizzazioni, dashboard e gestione del ciclo di vita delle sessioni) sono descritti in una guida dedicata:
Migliori pratiche
- Selezione dell'interprete:
Utilizzare sempre interpreti basati su Livio (
%livy.spark,%livy.pyspark,%livy.sql) per i lavori Spark in Ilum. - Visualizzazione dei dati: Sfrutta i grafici Zeppelin integrati per una visione immediata; Esporta come immagini o dashboard secondo necessità.
- Consapevolezza delle risorse: Le sessioni utilizzano le risorse di Spark; Chiudere i blocchi appunti o interrompere le sessioni quando non sono necessarie.
- Controllo delle versioni: Usa l'esportazione del notebook per il backup o il controllo manuale delle versioni oppure integra con Git esterno, se necessario.
- Collaborazione: Ricorda: non c'è controllo degli accessi. Considera tutti i taccuini Zeppelin come visibili/modificabili da chiunque possa accedere al servizio.
Risoluzione dei problemi
-
Impossibile accedere a Zeppelin:
- Verificare che il modulo sia abilitato e distribuito correttamente.
- Assicurati che il servizio Zeppelin sia raggiungibile (controlla il port-forward o l'ingresso).
-
Problemi con la sessione Spark:
- Se i processi non vengono avviati, assicurarsi che Livy Proxy sia abilitato e accessibile.
- Rivedi le impostazioni o i registri dell'interprete nell'interfaccia utente di Zeppelin.
-
Timeout:
- Regolare i timeout delle sessioni nella configurazione dell'interprete per i processi a esecuzione prolungata.
-
Problemi di visualizzazione:
- Prova a cambiare tipo di grafico o a esportare i risultati per l'analisi offline.