All Products
Search
Document Center

E-MapReduce:Panduan cepat pengembangan SparkSQL

Last Updated:Jun 22, 2026

EMR Serverless Spark memungkinkan Anda mengedit dan menjalankan tugas menggunakan kode SQL. Topik ini memandu Anda melalui proses pembuatan, eksekusi, dan pengelolaan tugas SQL.

Prasyarat

Langkah 1: Buat dan publikasikan tugas pengembangan

Penting

Tugas harus dipublikasikan terlebih dahulu sebelum dapat digunakan untuk orkestrasi tugas.

  1. Buka halaman Data Development.

    1. Masuk ke Konsol EMR.

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

    3. Pada halaman Spark, klik ruang kerja yang dituju.

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

  2. Buat tugas bernama users_task.

    1. Pada tab Development, klik ikon image.

    2. Pada kotak dialog Create, masukkan nama seperti users_task, atur Type ke nilai default SparkSQL, lalu klik OK.

    3. Salin kode berikut ke tab Spark SQL baru (users_task).

      CREATE TABLE IF NOT EXISTS students (
        name VARCHAR(64),          
        address VARCHAR(64)       
      )
      USING PARQUET  
      PARTITIONED BY (data_date STRING)              
      OPTIONS (
        'path'='oss://<bucketname>/path/'
      );
      INSERT OVERWRITE TABLE students PARTITION (data_date = '${ds}') VALUES
        ('Ashua Hill', '456 Erica Ct, Cupertino'),
        ('Brian Reed', '723 Kern Ave, Palo Alto');

      Variabel tanggal dasar berikut didukung. Nilai default-nya adalah hari sebelumnya.

      Variable

      Data type

      Description

      {data_date}

      str

      Variabel yang menunjukkan informasi tanggal. Formatnya adalah YYYY-MM-DD.

      Contohnya, 2023-09-18.

      {ds}

      str

      {dt}

      str

      {data_date_nodash}

      str

      Variabel yang menunjukkan informasi tanggal. Formatnya adalah YYYYMMDD.

      Contohnya, 20230918.

      {ds_nodash}

      str

      {dt_nodash}

      str

      {ts}

      str

      Variabel yang menunjukkan timestamp. Formatnya adalah YYYY-MM-DDTHH:MM:SS.

      Contohnya, 2023-09-18T16:07:43.

      {ts_nodash}

      str

      Variabel yang menunjukkan timestamp. Formatnya adalah YYYYMMDDHHMMSS.

      Contohnya, 20230918160743.

    4. Pilih database dari daftar drop-down database dan instans session yang sedang berjalan dari daftar drop-down session.

      Anda juga dapat membuat instans session baru dengan memilih Connect to SQL Session dari daftar drop-down tersebut. Untuk informasi lebih lanjut tentang manajemen session, lihat Kelola session SQL.

    5. Klik Run untuk menjalankan tugas.

      Tab Execution Results menampilkan hasilnya. Jika terjadi error, Anda dapat melihat detailnya pada tab Execution Issues.

  3. Publikasikan tugas users_task.

    Catatan

    Parameter yang ditentukan untuk tugas akan dipublikasikan bersama tugas tersebut dan digunakan saat tugas dijalankan di lingkungan produksi. Tugas yang dieksekusi di editor SQL menggunakan parameter dari session.

    1. Pada tab Spark SQL baru, klik Publish.

    2. Pada kotak dialog, masukkan informasi publikasi lalu klik OK.

  4. Buat tugas users_count.

    1. Pada tab Development, klik ikon image.

    2. Pada kotak dialog Create, masukkan nama seperti users_count, gunakan Type default yaitu SparkSQL, lalu klik OK.

    3. Salin kode berikut ke tab tugas Spark SQL baru (users_count).

      SELECT COUNT(1) FROM students;
    4. Pilih database dari daftar drop-down database dan instans session yang sedang berjalan dari daftar drop-down session.

      Anda juga dapat memilih Connect to SQL Session dari daftar drop-down untuk membuat session baru. Untuk informasi lebih lanjut tentang manajemen session, lihat Kelola session SQL.

    5. Klik Run untuk menjalankan tugas.

      Hasilnya ditampilkan pada tab Execution Results. Jika terjadi error, Anda dapat melihat detailnya pada tab Execution Issues.

  5. Publikasikan tugas users_count.

    Catatan

    Parameter yang ditentukan untuk tugas akan dipublikasikan bersama tugas tersebut dan digunakan saat tugas dijalankan di lingkungan produksi. Tugas yang dieksekusi di editor SQL menggunakan parameter dari session.

    1. Pada tab tugas Spark SQL baru, Anda dapat mengklik Publish.

    2. Pada kotak dialog, masukkan informasi publikasi lalu klik OK.

Langkah 2: Buat alur kerja dan node-nya

  1. Pada panel navigasi kiri, klik Workflows.

  2. Pada halaman Workflows, klik Create Workflow.

  3. Pada panel Create Workflow, untuk Name, masukkan nama seperti spark_workflow_task, lalu klik Next.

    Anda dapat mengonfigurasi parameter pada bagian Other Settings sesuai kebutuhan. Untuk informasi lebih lanjut tentang parameter tersebut, lihat Kelola alur kerja.

  4. Tambahkan node users_task.

    1. Pada kanvas node baru, klik Add Node.

    2. Pada panel Add Node, pilih tugas yang telah dipublikasikan users_task dari daftar drop-down Path, lalu klik Save.

  5. Tambahkan node users_count.

    1. Klik Add Node.

    2. Pada panel Add Node, pilih tugas yang telah dipublikasikan, users_count, dari daftar drop-down Path, pilih users_task dari daftar drop-down Upstream Nodes, lalu klik Save.

  6. Pada kanvas node baru, klik Publish Workflow.

    Kanvas kini berisi dua node SQL, users_task dan users_count, dengan panah yang menghubungkan keduanya untuk menunjukkan dependensi eksekusi.

  7. Pada kotak dialog Publish, masukkan detail publikasi lalu klik OK.

Langkah 3: Jalankan alur kerja

  1. Pada halaman Workflows, klik Name alur kerja baru tersebut, misalnya spark_workflow_task.

  2. Pada halaman Workflow Runs, klik Run.

    Catatan

    Setelah Anda mengonfigurasi siklus penjadwalan, Anda juga dapat memicu penjadwalan pada halaman Workflows menggunakan sakelar di sebelah kiri.

  3. Pada kotak dialog Run Workflow, klik OK.

Langkah 4: Lihat status instans

  1. Pada halaman Workflows, klik alur kerja yang dituju, misalnya spark_workflow_task.

  2. Pada halaman Workflow Runs, Anda dapat melihat daftar semua instans alur kerja beserta waktu proses, status, dan detail lainnya.

    Grafik kolom di bagian atas halaman menunjukkan distribusi status eksekusi alur kerja berdasarkan tanggal. Tabel di bawahnya mencakup kolom seperti Workflow Run ID, Version, Run Mode, Number of Nodes, Scheduled Time, Start Time, dan End Time.

  3. Untuk melihat graf instans, pada bagian Workflow Runs, klik Workflow Run ID, atau klik tab Workflow Runs Diagram di bagian atas.

  4. Klik instans node. Pada kotak informasi node yang muncul, Anda dapat melakukan operasi atau melihat informasi sesuai kebutuhan.

    Untuk informasi lebih lanjut tentang operasi dan detail terkait, lihat Lihat instans node.

    Kotak informasi node menampilkan detail eksekusi seperti Start Time, End Time, Status, dan Runtime tugas. Kotak tersebut juga menyediakan tombol untuk operasi seperti Rerun, Stop, dan Set to Success.

    Sebagai contoh, klik Spark UI untuk membuka halaman Spark Jobs dan melihat informasi real-time tentang tugas Spark.

    Halaman Spark Jobs menampilkan daftar pekerjaan yang telah selesai dengan kolom seperti Job Id, Description, Submitted, Duration, Stages: Succeeded/Total, dan Tasks: Succeeded/Total. Anda dapat memeriksa status eksekusi dan durasi setiap pekerjaan.

  5. Klik Job Run ID untuk membuka halaman Job History, tempat Anda dapat melihat metrik, diagnostik, dan informasi log.

    Pada tab Overview, di bagian Basic Information, Anda dapat melihat informasi seperti status eksekusi, nama tugas, ID eksekusi tugas, jenis tugas, versi mesin database, dan status akselerasi Fusion.

Langkah 5: O&M Alur Kerja

Pada halaman Workflows, klik nama alur kerja untuk membuka halaman Workflow Runs. Anda dapat:

  • Pada bagian Workflow Information, Anda dapat mengedit parameter.

  • Pada bagian Workflow Runs, Anda dapat melihat semua alur kerja. Klik Workflow Run ID untuk membuka graf instans.

    Halaman graf instans alur kerja menunjukkan dependensi dan status eksekusi node tugas. Dalam contoh ini, users_task (SQL) adalah node leluhur dan users_count (SQL) adalah node turunan. Konektor di antara keduanya menunjukkan dependensi tersebut. Kedua node menampilkan status eksekusi berhasil (tanda centang hijau).

Langkah 6: Lihat data

  1. Pada panel navigasi kiri, klik Development.

  2. Buat tugas pengembangan SparkSQL baru. Kemudian, masukkan dan jalankan perintah berikut untuk melihat detail tabel.

    SELECT * FROM students;

    Informasi berikut dikembalikan.

    Hasilnya berisi tiga kolom: name, address, dan data_date. Terdapat dua catatan: Ashua Hill (alamat: 456 Erica Ct, Cupertino, tanggal: 2024-01-01) dan Brian Reed (alamat: 723 Kern Ave, Palo Alto, tanggal: 2024-01-01).

Referensi