Vai al contenuto principale

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

AspettoZeppelinJupyterLab / JupyterHub
Modello utenteBlocchi appunti condivisi (senza isolamento)Multiutente (JupyterHub), utente singolo (JupyterLab)
AutenticazioneNessuna autenticazioneLDAP/SSO tramite Ilum
Isolamento dell'area di lavoroCondiviso o per blocco appuntiPer utente (JupyterHub), condiviso/singolo (JupyterLab)
Integrazione con SparkInterpreti Livy integratiSparkmagic Magics e Livy Proxy
Controllo della versioneManuale per l'esportazioneGit (integrazione Gitea)
VisualizzazioneGrafici/dashboard integratiWidgets, matplotlib, plotly, ecc.
Ideale perDashboard, analisi ad hoc, esplorazione interattiva dei datiPipeline 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:

Vedere Esempi di utilizzo di Zeppelin


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.

Altre risorse