Aller au contenu principal

Run Apache Spark Jobs via Ilum UI

Running an Apache Spark job on Kubernetes with Ilum operates just like one submitted via étincelle-soumission, mais avec des améliorations supplémentaires pour faciliter l’utilisation, la configuration et l’intégration avec des outils externes.

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

Guide en plein écran

Voici un guide étape par étape pour configurer une tâche Spark simple à l’aide d’Ilum. Ce guide vous guidera tout au long de la configuration, de l’exécution et de la surveillance d’un travail de base nommé MiniReadWriteTest au sein de la plate-forme Ilum.

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

  1. Accédez à la section Emplois : Cet espace vous permet de gérer toutes vos tâches de traitement de données.

  2. Créez une nouvelle tâche :

    • Click on the ‘New Job +’ button to start the setup process.
  3. Remplissez les détails du poste :

    • Onglet Général :

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

      • Arguments: Entrer /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.

    • Onglet Ressources :

      • 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. Soumettre et surveiller le travail :

    • Soumettez l’emploi.
    • Accédez à la section des journaux pour consulter les journaux de chaque exécuteur.
    • 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. Exécution de la tâche d’examen :

    • Une fois le travail démarré, vérifiez l’état dans la section de présentation du travail.
    • Surveillez l’utilisation de la mémoire et d’autres mesures de performance dans la section Exécuteurs.
    • Observez l’avancement de votre travail à travers chaque étape de la chronologie.
  3. Achèvement et révision :

    • Une fois l’opération terminée, les détails et les résultats de la tâche sont consignés dans le serveur d’historique Spark.
    • Visitez la section du serveur d’historique pour voir votre travail terminé et passer en revue les étapes d’exécution détaillées.
  4. Dernière étape :

    • Félicitations! Vous avez correctement configuré et exécuté votre tâche MiniReadWriteTest dans Ilum. Pour plus d’informations ou pour obtenir de l’aide, veuillez contacter [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].

En suivant ces étapes, vous serez en mesure de configurer, d’exécuter et de surveiller efficacement une tâche Spark de base au sein de la plateforme Ilum, en vous familiarisant avec ses fonctionnalités et en vous préparant à des tâches de traitement de données plus complexes.

Voici une explication consolidée de la façon dont Ilum facilite les soumissions de tâches Spark, en mélangeant les fonctionnalités traditionnelles de étincelle-soumission avec les capacités de gestion avancées d’Ilum :

Chargement de l’exemple de travail

info

Ilum fournit un exemple de travail pour aider les nouveaux utilisateurs à démarrer rapidement. Exemple de chargement de tâche est activé par défaut. Cependant, vous pouvez le désactiver en utilisant --set ilum-core.examples.job=false.

Why Ilum is a Better Alternative to spark-submit

  • Compatibilité universelle : Ilum permet de soumettre n’importe quelle tâche Spark, comme si vous utilisiez étincelle-soumission. Il prend en charge divers langages de programmation utilisés avec Spark, notamment Scala, Python et R, répondant à toutes les opérations Spark typiques telles que le traitement par lots, les tâches de streaming ou les requêtes interactives.

  • Exécution simplifiée des commandes : Pendant que étincelle-soumission implique souvent des entrées de ligne de commande complexes pour les dépendances de bibliothèque, les paramètres de travail et les configurations de cluster, Ilum les abstrait dans une interface utilisateur intuitive. Cette approche minimise les risques d’erreur et simplifie les opérations, ce qui est particulièrement bénéfique pour ceux qui sont moins familiers avec les subtilités de la ligne de commande.

  • Déploiement direct du code : Les utilisateurs peuvent télécharger leurs fichiers JAR, leurs scripts Python ou leurs notebooks directement dans Ilum, de la même manière que si vous spécifiiez des ressources dans un étincelle-soumission commander. Ilum améliore cela en permettant à ces ressources d’être configurées pour des exécutions planifiées ou déclenchées par des événements, offrant ainsi une plus grande flexibilité opérationnelle.

  • Gestion automatisée de l’environnement : Contrairement à la configuration manuelle requise avec étincelle-soumission, Ilum garantit que toutes les dépendances et configurations sont gérées automatiquement. Cela garantit que l’environnement d’exécution est constamment préparé pour l’exécution des tâches, que ce soit sur des clusters locaux, dans le cloud ou dans des configurations hybrides.

  • Surveillance et outillage intégrés : Ilum est livré avec une intégration intégrée pour les outils de surveillance et de journalisation, qui dans le étincelle-soumission Le flux de travail nécessiterait une configuration supplémentaire. Cette intégration fournit aux utilisateurs des solutions prêtes à l’emploi pour suivre les performances des tâches, gérer les journaux et se connecter à d’autres services de données de manière transparente.

Expérience de soumission de travail améliorée

Ilum n’est pas seulement à la hauteur des capacités de étincelle-soumission mais les étend en réduisant la surcharge associée à la configuration des tâches et à la configuration de l’environnement. Il s’agit d’une plate-forme complète qui simplifie le déploiement, la gestion et la mise à l’échelle des tâches Spark, ce qui en fait une solution idéale pour les organisations qui souhaitent améliorer leurs flux de travail de traitement des données sans compromettre la puissance et la flexibilité d’Apache Spark.

Job Configuration Reference

ParameterDescription
NomA 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.
GrappeThe 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.
LangueThe programming language used for the job. Select Scala ou Python 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.