All Products
Search
Document Center

E-MapReduce:Memulai pengembangan JAR

Last Updated:Jun 22, 2026

Tulis dan buat paket JAR yang berisi logika bisnis Anda. Setelah mengunggahnya, Anda dapat mengembangkan pekerjaan Spark JAR. Topik ini menggunakan dua contoh untuk menunjukkan cara mengembangkan dan menerapkan pekerjaan tersebut.

Prasyarat

  • Anda telah membuat ruang kerja. Untuk informasi selengkapnya, lihat Mengelola ruang kerja.

  • Anda telah mengembangkan aplikasi bisnis Anda dan mem-build-nya menjadi paket JAR.

Prosedur

Langkah 1: Mengembangkan paket JAR

EMR Serverless Spark tidak menyediakan integrated development environment (IDE) untuk pengembangan JAR. Anda harus menulis kode aplikasi Spark dan mengemasnya ke dalam file JAR di lingkungan pengembangan lokal atau standalone.

Di file pom.xml proyek Maven Anda, tambahkan dependensi Spark yang diperlukan. Karena lingkungan runtime EMR Serverless Spark sudah menyertakan dependensi ini, mengatur scope menjadi provided mencegah duplikasi pengemasan dan konflik versi, sekaligus tetap menyediakan dependensi tersebut untuk 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 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 pendekatan 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 is roughly " + 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 artefak.

    1. Login ke Konsol EMR.

    2. Pada panel navigasi kiri, pilih EMR Serverless > Spark.

    3. Pada halaman Spark, klik nama ruang kerja target Anda.

    4. Pada panel navigasi kiri halaman EMR Serverless Spark, klik Artifacts.

  2. Pada halaman Artifacts, klik Upload File.

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

    Contoh ini menggunakan SparkExample-1.0-SNAPSHOT.jar.

Langkah 3: Mengembangkan dan menjalankan pekerjaan

  1. Pada panel navigasi kiri halaman EMR Serverless Spark, klik Development.

  2. Pada tab Development, klik ikon image.

  3. Masukkan nama, pilih Application > JAR sebagai tipe, lalu klik OK.

  4. Pada pojok kanan atas, pilih antrian sumber daya.

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

  5. Pada editor pekerjaan baru, konfigurasikan parameter berikut. Biarkan sisanya pada pengaturan default, lalu klik Run.

    Parameter

    Deskripsi

    Main JAR Resource

    Pilih paket JAR yang telah Anda unggah. Contoh ini menggunakan SparkExample-1.0-SNAPSHOT.jar.

    Main Class

    Kelas utama yang akan dijalankan untuk pekerjaan Spark.

    • Untuk menghitung nilai perkiraan pi, masukkan org.example.JavaSparkPi.

    • Untuk mengkueri tabel Hive, masukkan org.example.HiveTableAccess.

  6. Setelah pekerjaan selesai, buka bagian Execution Records di bagian bawah dan klik Logs pada kolom Actions.

    Pada panel Logs, pilih Driver log > Stdout. Output Pi is roughly 3.1403 mengonfirmasi bahwa pekerjaan Spark berhasil dijalankan.

    Output contoh untuk kueri tabel adalah tabel terformat yang berisi satu catatan: id=1, name=jay.

Langkah 4: Menerbitkan pekerjaan

Penting

Pekerjaan yang diterbitkan dapat digunakan sebagai task dalam alur kerja.

  1. Setelah pekerjaan selesai, klik Publish di sebelah kanan.

  2. Pada kotak dialog yang muncul, masukkan informasi penerbitan dan klik OK.

(Opsional) Langkah 5: Melihat Spark UI

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

  1. Pada panel navigasi kiri, klik Job History.

  2. Pada halaman Application, temukan pekerjaan target dan klik Spark UI pada kolom Actions.

  3. Halaman tersebut menampilkan detail seperti User: root, Scheduling Mode: FIFO, dan Completed Jobs: 1. Entri pekerjaan menampilkan ID 0, deskripsi reduce at SparkPi.scala:38, durasi 4s, serta progres untuk stages (1/1) dan tasks (2/2). Detail ini mengonfirmasi bahwa pekerjaan Spark Pi berhasil dieksekusi.

Dokumen terkait

Setelah Anda menerbitkan pekerjaan, Anda dapat menggunakannya sebagai task dalam alur kerja. Untuk informasi selengkapnya, lihat Mengelola alur kerja. Untuk contoh orkestrasi pekerjaan lengkap, lihat Memulai Pengembangan SparkSQL.