Todos os produtos
Search
Central de documentação

:Modos de execução

Última atualização: Jul 04, 2026

O Spark on MaxCompute oferece suporte aos modos de execução local, cluster e DataWorks.

Modo local

O Spark on MaxCompute permite depurar jobs no modo local, assim como no Spark nativo.

Esse modo é semelhante ao modo de cluster YARN. Para utilizá-lo, faça as seguintes preparações:

  1. Crie um projeto do MaxCompute e obtenha o AccessKey ID e o AccessKey secret da conta com permissão para acessar esse projeto.

  2. Baixe o cliente do Spark on MaxCompute.

  3. Prepare as variáveis de ambiente.

  4. Configure o arquivo spark-defaults.conf.

  5. Baixe e compile um modelo de projeto de demonstração.

Para mais informações, consulte Configurar um ambiente de desenvolvimento Linux.

Envie um job executando o script spark-submit no cliente do Spark on MaxCompute. O código a seguir apresenta um exemplo:

## 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

Precauções

  • No modo local, o Tunnel lê e grava dados em tabelas do MaxCompute. Consequentemente, as operações de leitura e gravação nesse modo são mais lentas do que no modo de cluster YARN.

  • Como o Spark on MaxCompute executa na máquina local no modo local, pode ocorrer uma situação específica de acesso via virtual private cloud (VPC). É possível acessar o Spark on MaxCompute em modo local pela VPC, mas falhar ao tentar acessá-lo em modo de cluster YARN pela mesma rede.

    Isso acontece porque o modo local não possui isolamento de rede. Já o modo de cluster YARN opera com rede isolada e exige a configuração de parâmetros específicos para permitir o acesso via VPC.

  • Para acessar o Spark on MaxCompute via VPC no modo local, utilize um endpoint público. No modo de cluster YARN, o acesso via VPC requer um endpoint interno. Para detalhes sobre os endpoints do MaxCompute, consulte Endpoint.

  • Ao executar o Spark on MaxCompute no IntelliJ IDEA em modo local, especifique as configurações relacionadas diretamente no código. Contudo, remova essas configurações do código caso pretenda executar o Spark on MaxCompute no IntelliJ IDEA em modo de cluster YARN.

Executar o Spark on MaxCompute no IntelliJ IDEA em modo local

O Spark on MaxCompute permite executar código diretamente no IntelliJ IDEA em modo local usando N threads, eliminando a necessidade de enviar o código pelo cliente do Spark on MaxCompute. Observe os pontos abaixo durante a execução:

  • Especifique manualmente as configurações necessárias no arquivo odps.conf localizado no diretório main/resource ao executar o código no IntelliJ IDEA em modo local. Não é possível referenciar diretamente as configurações do arquivo spark-defaults.conf. Veja o exemplo de código a seguir:

    Nota

    A definição dos itens de configuração no arquivo odps.conf é obrigatória para o Spark 2.4.5 e versões posteriores.

    dops.access.id=""
    odps.access.key=""
    odps.end.point=""
    odps.project.name=""
  • Adicione manualmente as dependências necessárias na pasta jars do cliente Spark on MaxCompute no IntelliJ IDEA. Caso contrário, o seguinte erro será reportado:

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

    Siga as etapas abaixo para configurar as dependências:

    1. Na barra de menu principal do IntelliJ IDEA, escolha File > Project Structure.项目设置

    2. Na página Project Structure, clique em Modules no painel de navegação à esquerda. Na aba exibida, clique em spark-examples_2,11. No painel aberto, selecione a aba Dependencies. Em seguida, clique no ícone 增加 no canto inferior esquerdo e escolha JARS or directories.选择

    3. Na pasta jars, navegue até a versão desejada do pacote Spark on MaxCompute > jars > arquivo JAR necessário e clique em Open no canto inferior direito.JAR

    4. Clique em OK.open结果

    5. Envie as configurações no IntelliJ IDEA.运行

Modo cluster

No modo cluster, defina o método Main como ponto de entrada da aplicação personalizada. O job do Spark termina quando o método Main é concluído com sucesso ou falha. Este modo é ideal para jobs offline e pode ser integrado ao DataWorks para agendamento. O exemplo abaixo demonstra como usar linhas de comando para executar o Spark on MaxCompute neste modo:

# /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

Modo DataWorks

Execute os jobs offline do Spark on MaxCompute em modo cluster no DataWorks para integrar e agendar outros tipos de nós.

Siga estas etapas:

  1. Faça upload dos recursos necessários em um workflow do DataWorks e clique em Submit.

  2. No workflow criado, selecione ODPS Spark em Data Analytics.

  3. Dê um clique duplo no nó ODPS Spark no workflow e configure os parâmetros do job Spark. Para o nó ODPS Spark, o parâmetro Spark Version oferece três opções, enquanto o parâmetro Language apresenta duas. As demais configurações variam conforme a opção escolhida em Language. Siga as instruções na tela para configurar os parâmetros. Para mais detalhes, consulte Desenvolver uma tarefa Spark do MaxCompute. Onde:

    • Main JAR Resource: arquivo de recurso utilizado pelo job. Faça o upload deste arquivo no DataWorks antes de prosseguir.

    • Configuration Items: itens de configuração necessários para enviar o job.

      Não é necessário configurar spark.hadoop.odps.access.id, spark.hadoop.odps.access.key e spark.hadoop.odps.end.point. Por padrão, esses valores correspondem aos do projeto MaxCompute. Você também pode especificá-los explicitamente para substituir os valores padrão.

      Adicione individualmente as configurações do arquivo spark-defaults.conf aos itens de configuração do nó ODPS Spark. Isso inclui o número de executores, tamanho da memória e spark.hadoop.odps.runtime.end.point.

      O arquivo de recurso e os itens de configuração do nó ODPS Spark correspondem aos parâmetros e itens do comando spark-submit, conforme descrito na tabela abaixo. Não há necessidade de fazer upload do arquivo spark-defaults.conf. Em vez disso, adicione as configurações contidas no arquivo spark-defaults.conf uma a uma nos itens de configuração do nó ODPS Spark.

      Nó ODPS Spark

      spark-submit

      Main JAR Resource e Main Python Resource

      app jar or python file

      Configuration Items

      --conf PROP=VALUE

      Main Class

      --class CLASS_NAME

      Arguments

      [app arguments]

      JAR Resources

      --jars JARS

      Python Resources

      --py-files PY_FILES

      File Resources

      --files FILES

      Archive Resources

      --archives ARCHIVES

  4. Execute o nó ODPS Spark para visualizar os logs operacionais do job e obter as URLs do Logview e do Jobview para análise e diagnóstico adicionais.

    Após definir o job Spark, orquestre e agende serviços de diferentes tipos no workflow.