Tous les produits
Search
Centre de documentation

:Modes d'exécution

Dernière mise à jour :Aug 10, 2026

Spark sur MaxCompute prend en charge les modes d'exécution local, cluster et DataWorks.

Mode local

Spark sur MaxCompute vous permet de déboguer des jobs en mode local, tel qu'utilisé dans Spark natif.

Le mode local est similaire au mode cluster YARN. Pour utiliser le mode local, préparez les éléments suivants :

  1. Créez un projet MaxCompute et obtenez l'AccessKey ID et l'AccessKey Secret du compte permettant d'accéder au projet MaxCompute.

  2. Téléchargez le client Spark sur MaxCompute.

  3. Préparez les variables d'environnement.

  4. Configurez le fichier spark-defaults.conf.

  5. Téléchargez et compilez un modèle de projet de démonstration.

Pour plus d'informations, reportez-vous à Configurer un environnement de développement Linux.

Soumettez un job en exécutant le script spark-submit sur le client Spark sur MaxCompute. L'exemple de code suivant illustre cette procédure :

## Java/Scala
cd $SPARK_HOME
./bin/spark-submit --master local[4] --class com.aliyun.odps.spark.examples.SparkPi \
/path/to/odps-spark-examples/spark-examples/target/spark-examples-2.0.0-SNAPSHOT-shaded.jar
## PySpark
cd $SPARK_HOME
./bin/spark-submit --master local[4] \
/path/to/odps-spark-examples/spark-examples/src/main/python/odps_table_rw.py

Précautions

  • En mode local, Tunnel sert à lire et écrire des données dans les tables MaxCompute. Par conséquent, les opérations de lecture et d'écriture en mode local sont plus lentes que celles en mode cluster YARN.

  • En mode local, Spark sur MaxCompute s'exécute sur votre machine locale. Vous pouvez donc avoir accès à Spark sur MaxCompute en mode local via un VPC (Virtual Private Cloud), mais pas à Spark sur MaxCompute en mode cluster YARN via un VPC.

    En mode local, le réseau n'est pas isolé. En revanche, en mode cluster YARN, le réseau est isolé et vous devez configurer les paramètres requis pour l'accès via un VPC.

  • En mode local, utilisez un endpoint public pour accéder à Spark sur MaxCompute via un VPC. Toutefois, en mode cluster YARN, utilisez un endpoint interne pour accéder à Spark sur MaxCompute via un VPC. Pour plus d'informations sur les endpoints de MaxCompute, reportez-vous à Endpoint.

  • Si vous exécutez Spark sur MaxCompute dans IntelliJ IDEA en mode local, spécifiez les configurations associées dans le code. Supprimez ces configurations du code si vous souhaitez exécuter Spark sur MaxCompute dans IntelliJ IDEA en mode cluster YARN.

Exécuter Spark sur MaxCompute dans IntelliJ IDEA en mode local

Spark sur MaxCompute vous permet d'exécuter directement le code dans IntelliJ IDEA en mode local en utilisant N threads. Cela vous évite de soumettre le code sur le client Spark sur MaxCompute. Tenez compte des points suivants lors de l'exécution du code :

  • Spécifiez manuellement les configurations associées dans le fichier odps.conf du répertoire main/resource lorsque vous exécutez le code dans IntelliJ IDEA en mode local. Vous ne pouvez pas référencer directement les configurations du fichier spark-defaults.conf. L'exemple de code suivant illustre cette configuration :

    Remarque

    Spécifiez les éléments de configuration dans le fichier odps.conf pour Spark 2.4.5 et versions ultérieures.

    dops.access.id=""
    odps.access.key=""
    odps.end.point=""
    odps.project.name=""
  • Ajoutez manuellement les dépendances requises dans le dossier jars du client Spark sur MaxCompute dans IntelliJ IDEA. Dans le cas contraire, l'erreur suivante s'affiche :

     the value of spark.sql.catalogimplementation should be one of hive in-memory but was odps

    Suivez les étapes ci-dessous pour configurer les dépendances :

    1. Dans la barre de menus principale d'IntelliJ IDEA, choisissez File > Project Structure.项目设置

    2. Sur la page Project Structure , cliquez sur Modules dans le volet de navigation de gauche. Dans l'onglet qui s'affiche, cliquez sur spark-examples_2.11. Dans le panneau qui apparaît, cliquez sur l'onglet Dependencies . Cliquez ensuite sur l'icône 增加 dans le coin inférieur gauche et sélectionnez JARS or directories .选择

    3. Dans le dossier jars , choisissez la version requise du package Spark sur MaxCompute > jars > fichier JAR requis et cliquez sur Open dans le coin inférieur droit.JAR

    4. Cliquez sur OK .open结果

    5. Soumettez les configurations dans IntelliJ IDEA.运行

Mode cluster

En mode cluster, spécifiez la méthode Main comme point d'entrée d'une application personnalisée. Un job Spark se termine lorsque la méthode Main réussit ou échoue. Ce mode convient aux jobs hors ligne. Utilisez Spark sur MaxCompute dans ce mode conjointement avec DataWorks pour planifier des jobs. L'exemple de code suivant montre comment utiliser les lignes de commande pour exécuter Spark sur MaxCompute dans ce mode :

# /path/to/MaxCompute-Spark: the path where the compiled application JAR package is saved. 
cd $SPARK_HOME
bin/spark-submit --master yarn-cluster --class com.aliyun.odps.spark.examples.SparkPi \
/path/to/MaxCompute-Spark/spark-2.x/target/spark-examples_2.11-1.0.0-SNAPSHOT-shaded.jar

Mode DataWorks

Exécutez les jobs hors ligne de Spark sur MaxCompute en mode cluster dans DataWorks afin d'intégrer et de planifier d'autres types de nœuds.

Effectuez les étapes suivantes :

  1. Téléchargez les ressources requises dans un workflow DataWorks et cliquez sur l'icône Submit .

  2. Dans le workflow créé, sélectionnez ODPS Spark depuis Data Analytics .

  3. Double-cliquez sur le nœud ODPS Spark dans le workflow et configurez les paramètres du job Spark. Pour le nœud ODPS Spark, le paramètre Spark Version propose trois options, et le paramètre Language en propose deux. Les autres paramètres à configurer varient en fonction du paramètre Language . Configurez les paramètres selon les instructions affichées. Pour plus d'informations, reportez-vous à Développer une tâche MaxCompute Spark . Où :

    • Main JAR Resource : le fichier de ressource utilisé par le job. Téléchargez le fichier de ressource dans DataWorks avant d'effectuer cette opération.

    • Configuration Items : les éléments de configuration requis pour soumettre le job.

      Il n'est pas nécessaire de configurer spark.hadoop.odps.access.id , spark.hadoop.odps.access.key et spark.hadoop.odps.end.point . Par défaut, les valeurs de ces éléments de configuration sont identiques à celles du projet MaxCompute. Vous pouvez également spécifier explicitement ces éléments de configuration pour remplacer leurs valeurs par défaut.

      Ajoutez les configurations du fichier spark-defaults.conf aux éléments de configuration du nœud ODPS Spark, un par un. Les configurations incluent le nombre d'executors, la taille de la mémoire et spark.hadoop.odps.runtime.end.point .

      Le fichier de ressource et les éléments de configuration du nœud ODPS Spark correspondent aux paramètres et éléments de la commande spark-submit, comme décrit dans le tableau suivant. Il n'est pas nécessaire de télécharger le fichier spark-defaults.conf . En revanche, ajoutez les configurations du fichier spark-defaults.conf aux éléments de configuration du nœud ODPS Spark, un par un.

      Nœud ODPS Spark

      spark-submit

      Main JAR Resource et Main Python Resource

      app jar or python file

      Éléments de configuration

      --conf PROP=VALUE

      Classe principale

      --class CLASS_NAME

      Arguments

      [app arguments]

      Ressources JAR

      --jars JARS

      Ressources Python

      --py-files PY_FILES

      Ressources File

      --files FILES

      Ressources Archive

      --archives ARCHIVES

  4. Exécutez le nœud ODPS Spark pour afficher les journaux d'opération du job et obtenir les URL de Logview et Jobview à partir des journaux pour une analyse et un diagnostic approfondis.

    Une fois le job Spark défini, vous pouvez orchestrer et planifier des services de différents types dans le workflow.