全部产品
Search
文档中心

E-MapReduce:Memulai pengembangan JAR

更新时间:Nov 10, 2025

Anda dapat membuat paket JAR yang berisi logika bisnis Anda dan mengunggahnya untuk mengembangkan pekerjaan Spark JAR. Topik ini menyediakan dua contoh cara mengembangkan dan men-deploy pekerjaan JAR.

Prasyarat

  • Ruang kerja telah dibuat. Untuk informasi selengkapnya, lihat Manajemen Ruang Kerja.

  • Aplikasi bisnis telah dikembangkan dan dikemas ke dalam file JAR.

Prosedur

Langkah 1: Mengembangkan paket JAR

E-MapReduce (EMR) Serverless Spark tidak menyediakan lingkungan pengembangan terintegrasi (IDE) untuk paket JAR. Oleh karena itu, Anda harus menulis kode aplikasi Spark dan mengemasnya ke dalam file JAR di platform pengembangan lokal atau mandiri. Topik ini menyediakan dua contoh.

Dalam file pom.xml proyek Maven Anda, tambahkan dependensi terkait Spark. Karena lingkungan runtime Serverless Spark telah menyertakan dependensi tersebut secara bawaan, Anda dapat mengatur scope menjadi provided. Hal ini mencegah pengemasan ganda dan konflik versi sekaligus memastikan dependensi tersedia selama fase kompilasi dan pengujian.

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

Kueri tabel 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();
    }
}

Menghitung nilai perkiraan 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;

/**
 * Menghitung perkiraan nilai pi
 * Penggunaan: JavaSparkPi [partisi]
 */
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 kira-kira " + 4.0 * count / n);

    spark.stop();
  }
}

Klik SparkExample-1.0-SNAPSHOT.jar untuk mengunduh paket JAR uji coba.

Langkah 2: Mengunggah paket JAR

  1. Buka halaman unggah file.

    1. Masuk ke Konsol EMR.

    2. Di panel navigasi sebelah kiri, pilih EMR Serverless > Spark.

    3. Di halaman Spark, klik nama ruang kerja yang dituju.

    4. Di halaman EMR Serverless Spark, klik Files di panel navigasi sebelah kiri.

  2. Di halaman Files, klik Upload File.

  3. Di kotak dialog Upload File, klik area unggah untuk memilih paket JAR lokal, atau seret paket JAR ke area tersebut.

    Pada contoh ini, paket SparkExample-1.0-SNAPSHOT.jar diunggah.

Langkah 3: Mengembangkan dan menjalankan pekerjaan

  1. Di halaman EMR Serverless Spark, klik Data Development di panel navigasi sebelah kiri.

  2. Di tab Development, klik ikon image.

  3. Masukkan nama, pilih Batch Job > JAR sebagai Jenis, lalu klik OK.

  4. Di pojok kanan atas, pilih antrian.

    Untuk informasi selengkapnya tentang cara menambahkan antrian, lihat Kelola antrian sumber daya.

  5. Di tab pekerjaan baru, konfigurasikan parameter berikut, biarkan parameter lain pada nilai default-nya, lalu klik Run.

    Parameter

    Deskripsi

    Main JAR Resource

    Pilih paket JAR yang telah Anda unggah pada langkah sebelumnya. Pada contoh ini, pilih SparkExample-1.0-SNAPSHOT.jar.

    Main Class

    Kelas utama yang ditentukan saat Anda mengirimkan pekerjaan Spark.

    • Untuk menghitung nilai perkiraan pi (π): Pada contoh ini, masukkan org.example.JavaSparkPi.

    • Untuk mengkueri tabel Hive: Pada contoh ini, masukkan org.example.HiveTableAccess.

  6. Setelah pekerjaan dijalankan, di bagian Execution Records, klik Log Probe di kolom Tindakan untuk melihat informasi log.

    image

    image

Langkah 4: Menerbitkan pekerjaan

Penting

Pekerjaan yang diterbitkan dapat digunakan sebagai node dalam alur kerja.

  1. Setelah pekerjaan selesai, klik Publish di pojok kanan atas.

  2. Di kotak dialog yang muncul, masukkan informasi rilis dan klik OK.

(Opsional) Langkah 5: Melihat Spark UI

Setelah pekerjaan berhasil dijalankan, Anda dapat melihat detail eksekusinya di Spark UI.

  1. Di panel navigasi sebelah kiri, klik Job History.

  2. Di halaman Application, temukan pekerjaan yang dituju dan klik Spark UI di kolom Tindakan.

  3. Di halaman Spark Jobs, Anda dapat melihat detail pekerjaan.

    image

Referensi

Setelah pekerjaan diterbitkan, Anda dapat menggunakannya untuk penjadwalan alur kerja. Untuk informasi selengkapnya, lihat Kelola alur kerja. Untuk contoh proses pengembangan lengkap untuk orkestrasi pekerjaan, lihat Memulai pengembangan SparkSQL.