Todos os produtos
Search
Central de documentação

DataWorks:Serverless Spark Batch node

Última atualização: Sep 25, 2026

Desenvolva e agende periodicamente jobs Spark em um cluster EMR Serverless Spark no DataWorks. O Spark oferece suporte a computação complexa em memória, tornando-o ideal para análise de dados em larga escala com baixa latência.

Pré-requisitos

  • Limitações de recursos computacionais: Apenas bound EMR Serverless Spark compute resources são compatíveis. Verifique se o grupo de recursos e o recurso computacional conseguem se comunicar pela rede.

  • Restrições de grupo de recursos: Apenas Serverless resource groups podem executar este tipo de tarefa.

  • (Opcional, para usuários RAM) O usuário Resource Access Management (RAM) responsável pelo desenvolvimento de tarefas deve ser adicionado ao workspace e receber a função Development ou Workspace Administrator (esta função inclui permissões extensas e deve ser concedida com cautela). Para mais informações, consulte Add workspace members.

    Se você estiver usando uma conta root, ignore esta etapa.

Crie um nó

Para obter instruções, consulte Create a node.

Desenvolva o nó

Nota

Antes de desenvolver um job Serverless Spark Batch, desenvolva o código do job Spark no E-MapReduce (EMR) e compile-o em um pacote JAR. Para orientações sobre desenvolvimento Spark, consulte Spark tutorials.

Escolha a abordagem mais adequada ao seu caso de uso:

Opção 1: Faça upload e referencie o EMR JAR

Faça upload do pacote JAR compilado no DataWorks como um recurso EMR JAR. Essa abordagem funciona para pacotes JAR menores que 500 MB.

  1. Crie um recurso EMR JAR.

    1. No painel de navegação à esquerda, clique no ícone image para acessar a página Resource Management.

    2. Na página Resource Management, clique no ícone image, selecione New Resource e nomeie o recurso como spark-examples_2.11-2.4.0.jar.

    3. Clique em Click Upload e faça upload do arquivo spark-examples_2.11-2.4.0.jar.

    4. Selecione um Storage Path, Data Sources e Resource Group.

      Importante

      Para o data source, selecione o cluster EMR Serverless Spark vinculado.

    5. Clique em Save.

  2. Referencie o recurso EMR JAR.

    1. Abra o nó Serverless Spark Batch criado e permaneça na página do editor de código.

    2. No painel Resource Management à esquerda, localize o recurso desejado, clique com o botão direito e selecione Insert Resource Path.

    3. O recurso é referenciado com sucesso quando o seguinte código é adicionado automaticamente ao editor de código do nó Serverless Spark Batch:

      ##@resource_reference{"spark-examples_2.11-2.4.0.jar"}
      spark-examples_2.11-2.4.0.jar

      No código acima, spark-examples_2.11-2.4.0.jar é o nome do recurso EMR JAR cujo upload você realizou.

    4. Modifique o código do nó adicionando o comando spark-submit. O exemplo a seguir mostra o código modificado.

      Importante
      • Siga o exemplo exatamente. Não adicione comentários, pois eles causam falha no nó.

      • Para o EMR Serverless Spark, não é necessário definir o parâmetro deploy-mode no comando spark-submit. Apenas o modo cluster é compatível.

      ##@resource_reference{"spark-examples_2.11-2.4.0.jar"}
      spark-submit --class org.apache.spark.examples.SparkPi spark-examples_2.11-2.4.0.jar 100

      Comando

      Descrição

      class

      A classe principal da aplicação no arquivo JAR. Neste exemplo, o valor é org.apache.spark.examples.SparkPi.

      Nota

      Para mais informações sobre parâmetros, consulte Submit a job using spark-submit.

Opção 2: Referencie um recurso OSS

Referencie um recurso armazenado no Object Storage Service (OSS). O DataWorks carrega automaticamente o recurso OSS especificado em tempo de execução. Use esta abordagem quando um job EMR exigir dependências JAR ou depender de scripts.

  1. Desenvolva o recurso JAR: Este tópico usa SparkWorkOSS-1.0-SNAPSHOT-jar-with-dependencies.jar como exemplo.

  2. Faça upload do recurso JAR.

    1. Acesse o OSS console. No painel de navegação à esquerda, clique em buckets.

    2. Clique no nome do bucket de destino para acessar a página de gerenciamento de arquivos.

    3. Clique em Create Directory para criar um diretório onde o recurso JAR será armazenado.

    4. Acesse o diretório e faça upload do arquivo SparkWorkOSS-1.0-SNAPSHOT-jar-with-dependencies.jar no bucket.

  3. Referencie o recurso JAR.

    1. No editor de código do nó Serverless Spark Batch criado, escreva o código para referenciar o recurso JAR.

      Importante

      No código a seguir, o nome do bucket OSS é mybucket e o diretório é emr. Substitua-os pelos seus valores reais.

      spark-submit --class com.aliyun.emr.example.spark.SparkMaxComputeDemo oss://mybucket/emr/SparkWorkOSS-1.0-SNAPSHOT-jar-with-dependencies.jar

      Parâmetros:

      Parâmetro

      Descrição

      class

      O nome completamente qualificado da classe principal a ser executada.

      oss file path

      O formato é oss://{bucket}/{object}.

      • bucket: O contêiner OSS que armazena objetos. Cada bucket tem um nome exclusivo. Acesse o OSS console para visualizar todos os buckets da sua conta.

      • object: Um arquivo ou caminho armazenado em um bucket.

      Nota

      Para mais informações sobre parâmetros, consulte Submit a job using spark-submit.

Depure o nó

  1. No painel Run Configuration, configure as opções de Compute resource e resource group.

    Parâmetro

    Descrição

    Compute resource

    Selecione um EMR Serverless Spark compute resource vinculado. Se nenhum estiver disponível, selecione Create Compute Resource na lista suspensa.

    resource group

    Selecione um grupo de recursos vinculado ao workspace.

    Script parameters

    Defina variáveis no código do nó usando o formato ${Parameter name}. Em seguida, defina o Parameter name e o Parameter Value na seção Script Parameters. Em tempo de execução, o DataWorks substitui essas variáveis pelos valores especificados. Para mais informações, consulte Scheduling parameters.

    ServerlessSpark node parameters

    Parâmetros de tempo de execução para o programa Spark. Os seguintes tipos são compatíveis:

    O formato de configuração é: "spark.eventLog.enabled": false. O DataWorks adiciona automaticamente essa configuração ao código enviado ao Serverless Spark no formato --conf key=value.

    Nota

    É possível definir parâmetros Spark globais no nível do workspace e especificar se eles têm prioridade sobre os parâmetros definidos em um módulo específico. Para detalhes, consulte Configure global Spark parameters.

  2. Na barra de ferramentas no topo do editor de nós, clique em Run.

    Importante

    Antes de publicar, sincronize os <!--@uicontrol {"id":"babb263c1173g","data-init-id="1b10eba4b2lar"}-->ServerlessSpark node parameters em ServerlessSpark node parameters com os Run Configuration em ServerlessSpark node parameters.

Próximas etapas

  • Configure node scheduling: Para executar um nó periodicamente, configure a Scheduling Settings no painel Scheduling Policy à direita.

  • Publish a node: Para executar uma tarefa no ambiente de produção, clique no ícone image para publicar o nó. Um nó só é executado conforme o agendamento após ser publicado no ambiente de produção.

  • O&M de tarefas: Após a publicação de uma tarefa, monitore suas execuções periódicas no Operation Center. Para mais informações, consulte Get started with Operation Center.

Documentação relacionada

Apêndice: parâmetros do DataWorks

Parâmetro

Descrição

SERVERLESS_QUEUE_NAME

A fila de recursos para a qual o job é enviado. Por padrão, os jobs são enviados para a Scheduling Settings configurada para o cluster em Default Resource Queue no Clusters. Para isolar e gerenciar recursos, adicione filas. Para mais informações, consulte Manage resource queues.

Métodos de configuração:

  • Especifique a fila de recursos do job usando parâmetros de nó.

  • Especifique a fila de recursos do job usando global Spark parameters.