Vai al contenuto principale

Run Apache Spark Jobs via Ilum UI

Running an Apache Spark job on Kubernetes with Ilum operates just like one submitted via scintilla-invio, ma con ulteriori miglioramenti per facilitare l'uso, la configurazione e l'integrazione con strumenti esterni.

You can use the jar file with spark examples from one of these links:

Spark 4 / Scala 2.13: spark-examples_2.13-4.1.1.jar

Interactive Spark Job Submission Guide

Guida a schermo intero

Ecco una guida passo passo per configurare un semplice lavoro Spark utilizzando Ilum. Questa guida illustra la configurazione, l'esecuzione e il monitoraggio di un processo di base denominato MiniReadWriteTest all'interno della piattaforma Ilum.

Step-by-Step Tutorial: Running Your First Spark Job

  1. Vai alla sezione Lavori: Quest'area consente di gestire tutte le attività di elaborazione dei dati.

  2. Crea un nuovo lavoro:

    • Click on the ‘New Job +’ button to start the setup process.
  3. Compila i dettagli del lavoro:

    • Scheda Generale:

      • Nome: Entrare MiniReadWriteTest
      • Job Type: Select Spark Job
      • Classe: Entrare org.apache.spark.examples.MiniReadWriteTest
      • Language: Select Scala
    • Configuration Tab:

      • Arguments: Entrare /opt/spark/examples/src/main/resources/kv1.txt

      This path specifies a local file to be distributed to executors, a test file available in every Spark environment.

    • Scheda Risorse:

      • Jars: Upload the JAR file:

Spark 4 / Scala 2.13: spark-examples_2.13-4.1.1.jar

  • Memory Tab:
    • Leave all settings at their default values for this example.
  1. Invio e monitoraggio del processo:

    • Inviare il processo.
    • Passare alla sezione dei registri per esaminare i registri di ciascun esecutore.
    • You should see log output showing the job execution, including:
      • Spark initialization messages (SparkContext: Running Spark version 3.5.8)
      • File reading and word count operations (Performing local word count from /opt/spark/examples/src/main/resources/kv1.txt)
      • Task execution across executors (Starting task 0.0 in stage 0.0)
      • Final success message (Success! Local Word Count 500 and D Word Count 500 agree.)
  2. Esaminare l'esecuzione del processo:

    • Una volta avviato il processo, controllare lo stato nella sezione di panoramica del processo.
    • Monitorare l'utilizzo della memoria e altre metriche delle prestazioni nella sezione degli esecutori.
    • Osserva l'avanzamento del tuo lavoro in ogni fase della sequenza temporale.
  3. Completamento e revisione:

    • Al termine, i dettagli e i risultati del processo vengono registrati nel server della cronologia Spark.
    • Visita la sezione del server della cronologia per visualizzare il processo completato e rivedere le fasi di esecuzione dettagliate.
  4. Passaggio finale:

    • Felicitazioni! Il processo MiniReadWriteTest è stato configurato ed eseguito correttamente in Ilum. Per ulteriori informazioni o supporto, contattare [email protected].

To submit jobs programmatically instead of using the UI, see the Run Spark Job via REST API guide.

Congratulations! You have successfully set up and run your MiniReadWriteTest job in Ilum. For further information or support, contact [email protected].

Seguendo questi passaggi, sarai in grado di configurare, eseguire e monitorare in modo efficiente un lavoro Spark di base all'interno della piattaforma Ilum, acquisendo familiarità con le sue funzionalità e preparandoti per attività di elaborazione dati più complesse.

Ecco una spiegazione consolidata di come Ilum facilita l'invio di lavori Spark, unendo le funzionalità tradizionali di scintilla-invio con le funzionalità di gestione avanzate di Ilum:

Caricamento di un processo di esempio

Informazioni

Ilum fornisce un processo di esempio per aiutare i nuovi utenti a iniziare rapidamente. Esempio di caricamento dei lavori è abilitato per impostazione predefinita. Tuttavia, è possibile disabilitarlo utilizzando --set ilum-core.examples.job=false.

Why Ilum is a Better Alternative to spark-submit

  • Compatibilità universale: Ilum consente l'invio di qualsiasi processo Spark, in modo simile all'utilizzo scintilla-invio. Supporta vari linguaggi di programmazione utilizzati con Spark, tra cui Scala, Python e R, soddisfacendo tutte le operazioni tipiche di Spark come l'elaborazione batch, i processi di streaming o le query interattive.

  • Esecuzione semplificata dei comandi: Mentre scintilla-invio Spesso si tratta di input complessi della riga di comando per le dipendenze della libreria, i parametri di lavoro e le configurazioni del cluster, Ilum li astrae in un'interfaccia utente intuitiva. Questo approccio riduce al minimo i rischi di errore e semplifica le operazioni, in particolare per coloro che hanno meno familiarità con le complessità della riga di comando.

  • Distribuzione diretta del codice: Gli utenti possono caricare i propri file JAR, script Python o notebook direttamente in Ilum, in modo simile a specificare le risorse in un scintilla-invio comando. Ilum migliora questo aspetto consentendo di configurare queste risorse per esecuzioni pianificate o attivate da eventi, fornendo una maggiore flessibilità operativa.

  • Gestione automatizzata dell'ambiente: A differenza della configurazione manuale richiesta con scintilla-invio, Ilum garantisce che tutte le dipendenze e le configurazioni siano gestite automaticamente. In questo modo si garantisce che l'ambiente di esecuzione sia preparato in modo coerente per l'esecuzione del processo, sia in cluster locali, cloud o configurazioni ibride.

  • Monitoraggio e strumenti integrati: Ilum è dotato di integrazione integrata per gli strumenti di monitoraggio e registrazione, che nel scintilla-invio Il flusso di lavoro richiederebbe una configurazione aggiuntiva. Questa integrazione fornisce agli utenti soluzioni pronte all'uso per monitorare le prestazioni dei lavori, gestire i log e connettersi con altri servizi dati senza problemi.

Esperienza di invio dei lavori migliorata

Ilum non solo corrisponde alle capacità di scintilla-invio ma li estende riducendo il sovraccarico associato alla configurazione del processo e all'impostazione dell'ambiente. Offre una piattaforma onnicomprensiva che semplifica l'implementazione, la gestione e la scalabilità dei processi Spark, rendendola una soluzione ideale per le organizzazioni che mirano a migliorare i flussi di lavoro di elaborazione dei dati senza compromettere la potenza e la flessibilità di Apache Spark.

Job Configuration Reference

ParameterDescrizione
NomeA unique identifier for the job. This name is used in the dashboard and logs to track the job's execution and history.
Job TypeThe category of the job to be created. Select Spark Job for standard batch processing or Spark Connect Job for client-server Spark applications.
GrappoloThe target cluster where the job will be executed. Choose a cluster that has the necessary resources and data access for your job.
ClasseThe fully qualified class name of the application (e.g., org.apache.spark.examples.SparkPi) or the filename for Python scripts. This tells Spark which code to execute as the entry point.
LinguaThe programming language used for the job. Select Scala o Pitone to match your application code.
Max RetriesThe maximum number of times Ilum will attempt to restart the job if it fails. Setting this helps ensure job completion in case of transient errors.