Todos os produtos
Search
Central de documentação

E-MapReduce:Get started with JAR development

Última atualização: Jul 20, 2026

Crie um pacote JAR com sua lógica de negócios e faça upload dele para desenvolver jobs Spark JAR. Dois exemplos demonstram como desenvolver e implantar esses jobs.

Pré-requisitos

  • Você criou um workspace. Para mais informações, consulte Gerencie workspaces.

  • Você desenvolveu sua aplicação de negócios e a empacotou em um arquivo JAR.

Procedimento

Etapa 1: Desenvolver o pacote JAR

O EMR Serverless Spark não oferece um ambiente integrado de desenvolvimento JAR. Escreva o código da sua aplicação Spark e empacote-a em um arquivo JAR em um ambiente local ou independente.

No arquivo pom.xml do seu projeto Maven, adicione as dependências necessárias do Spark. Como o runtime do EMR Serverless Spark já inclui essas dependências, defina o scope como provided para evitar duplicação de pacotes e conflitos de versão, mantendo-as disponíveis para compilação e testes.

<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-core_2.12</artifactId>
    <version>3.5.2</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-sql_2.12</artifactId>
    <version>3.5.2</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-hive_2.12</artifactId>
    <version>3.5.2</version>
    <scope>provided</scope>
</dependency>

Consultar tabela DLF

public class HiveTableAccess {
    public static void main(String[] args) {
        SparkSession spark = SparkSession.builder()
                .appName("DlfTableAccessExample")
                .enableHiveSupport()
                .getOrCreate();
        spark.sql("SELECT * FROM test_table").show();
        spark.stop();
    }
}

Calcular pi (π)

import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.sql.SparkSession;
import java.util.ArrayList;
import java.util.List;
/**
 * Computes an approximation to pi
 * Usage: JavaSparkPi [partitions]
 */
public final class JavaSparkPi {
  public static void main(String[] args) throws Exception {
    SparkSession spark = SparkSession
      .builder()
      .appName("JavaSparkPi")
      .getOrCreate();
    JavaSparkContext jsc = new JavaSparkContext(spark.sparkContext());
    int slices = (args.length == 1) ? Integer.parseInt(args[0]) : 2;
    int n = 100000 * slices;
    List<Integer> l = new ArrayList<>(n);
    for (int i = 0; i < n; i++) {
      l.add(i);
    }
    JavaRDD<Integer> dataSet = jsc.parallelize(l, slices);
    int count = dataSet.map(integer -> {
      double x = Math.random() * 2 - 1;
      double y = Math.random() * 2 - 1;
      return (x * x + y * y <= 1) ? 1 : 0;
    }).reduce((integer, integer2) -> integer + integer2);
    System.out.println("Pi is roughly " + 4.0 * count / n);
    spark.stop();
  }
}

Clique em SparkExample-1.0-SNAPSHOT.jar para baixe o pacote JAR de teste.

Etapa 2: Fazer upload do pacote JAR

  1. Acesse a página de upload de artefatos.

    1. Faça login no console EMR.

    2. No painel de navegação à esquerda, escolha EMR Serverless > Spark.

    3. Na página Spark, clique em o nome do workspace desejado.

    4. No painel de navegação à esquerda da página do EMR Serverless Spark, clique em Artifacts.

  2. Na página Artifacts, clique em Upload File.

  3. Na caixa de diálogo Upload File, clique em a área de upload para selecione o pacote JAR local ou arraste-o para essa área.

    Este exemplo utiliza SparkExample-1.0-SNAPSHOT.jar.

Etapa 3: Desenvolver e executar o job

  1. No painel de navegação à esquerda da página do EMR Serverless Spark, clique em Development.

  2. Na aba Development, clique em o ícone image.

  3. Insira um nome, selecione Application > JAR como tipo e clique em OK.

  4. No canto superior direito, selecione uma fila de recursos.

    Para mais informações sobre como adicionar uma fila, consulte Gerencie filas de recursos.

  5. No editor do novo job, configure os parâmetros abaixo. Mantenha as demais configurações padrão e clique em Run.

    Parâmetro

    Descrição

    Main JAR Resource

    Selecione o pacote JAR enviado. Este exemplo usa SparkExample-1.0-SNAPSHOT.jar.

    Main Class

    Classe principal do job Spark.

    • Para calcular o valor aproximado de pi, insira org.example.JavaSparkPi.

    • Para consultar a tabela Hive, insira org.example.HiveTableAccess.

  6. Após a conclusão do job, acesse a seção Execution Records na parte inferior e clique em Logs na coluna Actions.

    No painel Logs, escolha Driver log > Stdout. A saída Pi is roughly 3.1403 confirme que o job Spark foi executado com sucesso.

    A saída de exemplo para a consulta à tabela é uma tabela formatada contendo um registro: id=1, name=jay.

Etapa 4: Publicar o job

Importante

É possível utilizar jobs publicados como tarefas em um workflow.

  1. Após a conclusão do job, clique em Publish à direita.

  2. Na caixa de diálogo exibida, insira as informações de publicação e clique em OK.

(Opcional) Etapa 5: Visualizar a Spark UI

Após a execução de um job, visualize seus detalhes na Spark UI.

  1. No painel de navegação à esquerda, clique em Job History.

  2. Na página Application, localize o job desejado e clique em Spark UI na coluna Actions.

  3. A página exibe detalhes como User: root, Scheduling Mode: FIFO e Completed Jobs: 1. A entrada do job mostra ID 0, descrição reduce at SparkPi.scala:38, duração de 4s e progresso de stages (1/1) e tasks (2/2). Esses detalhes confirme a execução bem-sucedida do job Spark Pi.

Documentos relacionados

Após publicar o job, utilize-o como tarefa em um workflow. Para mais informações, consulte Gerencie workflows. Para um exemplo completo de orquestração de jobs, consulte Get Started with SparkSQL Development.