Topik ini menjelaskan item konfigurasi dan prosedur untuk mengembangkan task batch atau streaming.
Prasyarat
Ruang kerja telah dibuat. Untuk informasi selengkapnya, lihat Manage workspaces.
Prosedur
Buka halaman Data Development.
Masuk ke Konsol E-MapReduce.
Pada panel navigasi di sebelah kiri, pilih .
Pada halaman Spark, klik nama ruang kerja yang dituju.
Pada halaman EMR Serverless Spark, klik Data Development pada panel navigasi kiri.
Buat task.
Pada tab Development, klik ikon
(Create).Pada kotak dialog yang muncul, masukkan Name, pilih Batch Job atau Streaming Job sebagai tipe sesuai kebutuhan, lalu klik OK.
Pada pojok kanan atas, pilih antrian.
Untuk informasi selengkapnya tentang cara menambahkan antrian, lihat Manage resource queues.
Pada editor untuk task baru, edit parameter-parameter berikut.
JAR
Parameter
Description
Main JAR Resource
Paket JAR utama yang diperlukan untuk menjalankan task.
Workspace: File yang Anda unggah pada halaman Files.
OSS: File yang disimpan di Alibaba Cloud OSS.
Engine Version
Versi Spark. Untuk informasi selengkapnya, lihat Introduction to engine versions.
Main Class
Kelas utama yang ditentukan saat Anda mengirimkan task Spark.
Execution Parameters
Item konfigurasi yang diperlukan selama waktu proses task atau parameter kustom yang diteruskan ke kelas utama. Pisahkan beberapa parameter dengan spasi.
Timeout
Waktu maksimum yang diizinkan untuk menyelesaikan task ini. Jika task berjalan lebih lama dari ambang batas ini, sistem akan secara otomatis menghentikan task tersebut. Nilai default-nya kosong, yang berarti tidak ada batas timeout.
Network Connection
Mount Integrated File Directory
Fitur ini dinonaktifkan secara default. Untuk menggunakan fitur ini, pertama-tama tambahkan direktori file pada halaman Files di tab Integrated File Directory. Untuk informasi selengkapnya, lihat Integrated file directory.
Setelah Anda mengaktifkan fitur ini, sistem akan memasang direktori file terkelola ke dalam task. Hal ini memungkinkan Anda membaca dan menulis file dalam direktori tersebut secara langsung di dalam task.
Operasi pemasangan mengonsumsi sejumlah sumber daya komputasi Driver tertentu. Sumber daya yang dikonsumsi adalah nilai terbesar dari dua nilai berikut:
Sumber daya tetap: 0,3 core CPU + 1 GB memori.
Sumber daya dinamis: 10% dari sumber daya
spark.driver(yaitu0,1 × spark.drivercore dan memori).
Sebagai contoh, jika
spark.driverdikonfigurasi dengan 4 core CPU dan 8 GB memori, maka sumber daya dinamisnya adalah 0,4 core CPU + 0,8 GB memori. Dalam kasus ini, sumber daya yang benar-benar dikonsumsi adalahmax(0,3 Core + 1GB, 0,4 Core + 0,8GB), yaitu 0,4 core CPU + 1 GB memori.CatatanSetelah Anda mengaktifkan pemasangan, direktori hanya dipasang ke driver secara default. Untuk memasang direktori tersebut juga ke executor, aktifkan Mount to Executor.
PentingSetelah Anda memasang direktori file NAS terintegrasi, Anda harus mengonfigurasi koneksi jaringan. VPC dari koneksi jaringan harus sama dengan VPC tempat titik pemasangan NAS berada.
Mount to Executor
Setelah Anda mengaktifkan fitur ini, sistem akan memasang direktori file terkelola ke executor task. Hal ini memungkinkan Anda membaca dan menulis file dalam direktori tersebut secara langsung di dalam executor task.
Pemasangan ini mengonsumsi sumber daya executor. Proporsi sumber daya yang dikonsumsi bervariasi tergantung pada penggunaan file yang dipasang.
File Resources
Saat Anda mengirimkan task, file yang ditentukan oleh parameter
--filesakan disalin ke direktori kerja executor. Hal ini memastikan bahwa task Spark dapat mengakses file-file tersebut selama waktu proses.Saat menentukan tipe resource, Anda dapat memilih Workspace atau OSS sesuai kebutuhan.
Archive Resources
Saat Anda mengirimkan task, file yang ditentukan oleh parameter
--archivesakan didekompresi dan didistribusikan ke objek arsip pada executor.Saat menentukan tipe resource, Anda dapat memilih Workspace atau OSS sesuai kebutuhan.
JAR Resources
Saat Anda mengirimkan task, tentukan file dependensi JAR yang diperlukan menggunakan parameter
--jars.Saat menentukan tipe resource, Anda dapat memilih Workspace atau OSS sesuai kebutuhan.
spark.driver.cores
Jumlah core CPU yang digunakan oleh driver dalam aplikasi Spark.
spark.driver.memory
Jumlah memori yang tersedia untuk driver dalam aplikasi Spark.
spark.executor.cores
Jumlah core CPU virtual yang digunakan oleh setiap executor dalam aplikasi Spark.
spark.executor.memory
Jumlah memori yang tersedia untuk setiap executor dalam aplikasi Spark.
spark.executor.instances
Jumlah executor yang dialokasikan oleh Spark.
Dynamic Resource Allocation
Fitur ini dinonaktifkan secara default. Setelah Anda mengaktifkan fitur ini, konfigurasikan parameter berikut:
Minimum Number of Executors: Nilai default-nya adalah 2.
Maximum Number of Executors: Jika spark.executor.instances tidak diatur, nilai default-nya adalah 10.
More Memory Configurations
spark.driver.memoryOverhead: Memori non-heap yang tersedia untuk setiap driver. Jika parameter ini tidak diatur, Spark secara otomatis mengalokasikan nilai berdasarkan rumus default:
max(384 MB, 10% × spark.driver.memory).spark.executor.memoryOverhead: Memori non-heap yang tersedia untuk setiap executor. Jika parameter ini tidak diatur, Spark secara otomatis mengalokasikan nilai berdasarkan rumus default:
max(384 MB, 10% × spark.executor.memory).spark.memory.offHeap.size: Ukuran memori off-heap yang tersedia untuk Spark. Nilai default-nya adalah 1 GB.
Parameter ini hanya berlaku ketika
spark.memory.offHeap.enableddiatur ketrue. Secara default, saat Anda menggunakan Fusion Engine, fitur ini diaktifkan dan memori non-heap diatur ke 1 GB.
Spark Configuration
Masukkan informasi konfigurasi Spark. Pisahkan pasangan kunci-nilai dengan spasi. Contohnya,
key value.Tags
Masukkan pasangan kunci-nilai untuk tag. Tag membantu Anda mengelola task dengan lebih nyaman dan presisi.
PySpark
Parameter
Description
Main Python Resources
File Python utama yang diperlukan untuk menjalankan task.
Workspace: File yang Anda unggah pada halaman Files.
OSS: File yang disimpan di Alibaba Cloud OSS.
Engine Version
Versi Spark. Untuk informasi selengkapnya, lihat Introduction to engine versions.
Execution Parameters
Item konfigurasi yang diperlukan selama waktu proses task atau parameter kustom yang diteruskan ke kelas utama.
Timeout
Waktu maksimum yang diizinkan untuk menyelesaikan task ini. Jika task berjalan lebih lama dari ambang batas ini, sistem akan secara otomatis menghentikan task tersebut. Nilai default-nya kosong, yang berarti tidak ada batas timeout.
Runtime Environment
Sumber daya yang diperlukan untuk menjalankan task telah dikonfigurasi sebelumnya berdasarkan lingkungan yang dipilih.
Network Connection
Mount Integrated File Directory
Fitur ini dinonaktifkan secara default. Untuk menggunakan fitur ini, pertama-tama tambahkan direktori file pada halaman Files di tab Integrated File Directory. Untuk informasi selengkapnya, lihat Integrated file directory.
Setelah Anda mengaktifkan fitur ini, sistem akan memasang direktori file terkelola ke dalam task. Hal ini memungkinkan Anda membaca dan menulis file dalam direktori tersebut secara langsung di dalam task.
Operasi pemasangan mengonsumsi sejumlah sumber daya komputasi Driver tertentu. Sumber daya yang dikonsumsi adalah nilai terbesar dari dua nilai berikut:
Sumber daya tetap: 0,3 core CPU + 1 GB memori.
Sumber daya dinamis: 10% dari sumber daya
spark.driver(yaitu0,1 × spark.drivercore dan memori).
Sebagai contoh, jika
spark.driverdikonfigurasi dengan 4 core CPU dan 8 GB memori, maka sumber daya dinamisnya adalah 0,4 core CPU + 0,8 GB memori. Dalam kasus ini, sumber daya yang benar-benar dikonsumsi adalahmax(0,3 Core + 1GB, 0,4 Core + 0,8GB), yaitu 0,4 core CPU + 1 GB memori.CatatanSetelah Anda mengaktifkan pemasangan, direktori hanya dipasang ke driver secara default. Untuk memasang direktori tersebut juga ke executor, aktifkan Mount to Executor.
PentingSetelah Anda memasang direktori file NAS terintegrasi, Anda harus mengonfigurasi koneksi jaringan. VPC dari koneksi jaringan harus sama dengan VPC tempat titik pemasangan NAS berada.
Mount to Executor
Setelah Anda mengaktifkan fitur ini, sistem akan memasang direktori file terkelola ke executor task. Hal ini memungkinkan Anda membaca dan menulis file dalam direktori tersebut secara langsung di dalam executor task.
Pemasangan ini mengonsumsi sumber daya executor. Proporsi sumber daya yang dikonsumsi bervariasi tergantung pada penggunaan file yang dipasang.
File Resources
Daftar file yang akan didistribusikan ke semua node executor dalam kluster.
Saat menentukan tipe resource, Anda dapat memilih Workspace atau OSS sesuai kebutuhan.
Pyfiles Resources
Saat Anda mengirimkan task, file yang ditentukan oleh parameter
--py-filesakan didistribusikan sebagai file dependensi Python.Saat menentukan tipe resource, Anda dapat memilih Workspace atau OSS sesuai kebutuhan.
Archive Resources
Saat Anda mengirimkan job, file yang ditentukan menggunakan parameter
--archivesakan diekstrak dan didistribusikan ke setiap Executor.Saat menentukan tipe resource, Anda dapat memilih Workspace atau OSS sesuai kebutuhan.
JAR Resources
Saat Anda mengirimkan task, tentukan file dependensi JAR yang diperlukan menggunakan parameter
--jars.Saat menentukan tipe resource, Anda dapat memilih Workspace atau OSS sesuai kebutuhan.
spark.driver.cores
Jumlah core CPU yang digunakan oleh driver dalam aplikasi Spark.
spark.driver.memory
Jumlah memori yang tersedia untuk driver dalam aplikasi Spark.
spark.executor.cores
Jumlah core CPU virtual yang digunakan oleh setiap executor dalam aplikasi Spark.
spark.executor.memory
Jumlah memori yang tersedia untuk setiap executor dalam aplikasi Spark.
spark.executor.instances
Jumlah executor yang dialokasikan oleh Spark.
Dynamic Resource Allocation
Fitur ini dinonaktifkan secara default. Setelah Anda mengaktifkan fitur ini, konfigurasikan parameter berikut:
Minimum Number of Executors: Nilai default-nya adalah 2.
Maximum Number of Executors: Jika spark.executor.instances tidak diatur, nilai default-nya adalah 10.
More Memory Configurations
spark.driver.memoryOverhead: Memori non-heap yang tersedia untuk setiap driver. Jika parameter ini tidak diatur, Spark secara otomatis mengalokasikan nilai berdasarkan rumus default:
max(384 MB, 10% × spark.driver.memory).spark.executor.memoryOverhead: Memori non-heap yang tersedia untuk setiap executor. Jika parameter ini tidak diatur, Spark secara otomatis mengalokasikan nilai berdasarkan rumus default:
max(384 MB, 10% × spark.executor.memory).spark.memory.offHeap.size: Ukuran memori off-heap yang tersedia untuk Spark. Nilai default-nya adalah 1 GB.
Parameter ini hanya berlaku ketika
spark.memory.offHeap.enableddiatur ketrue. Secara default, saat Anda menggunakan Fusion Engine, fitur ini diaktifkan dan memori non-heap diatur ke 1 GB.
Spark Configuration
Masukkan informasi konfigurasi Spark. Pisahkan pasangan kunci-nilai dengan spasi. Contohnya,
key value.Tags
Masukkan pasangan kunci-nilai untuk tag. Tag membantu Anda mengelola task dengan lebih nyaman dan presisi.
SQL
Parameter
Description
SQL File
File yang diperlukan saat Anda mengirimkan task.
Workspace: File yang Anda unggah pada halaman Files.
OSS: File yang disimpan di Alibaba Cloud OSS.
Engine Version
Versi Spark. Untuk informasi selengkapnya, lihat Introduction to engine versions.
Timeout
Waktu maksimum yang diizinkan untuk menyelesaikan task ini. Jika task berjalan lebih lama dari ambang batas ini, sistem akan secara otomatis menghentikan task tersebut. Nilai default-nya kosong, yang berarti tidak ada batas timeout.
Network Connection
Mount Integrated File Directory
Fitur ini dinonaktifkan secara default. Untuk menggunakan fitur ini, pertama-tama tambahkan direktori file pada halaman Files di tab Integrated File Directory. Untuk informasi selengkapnya, lihat Integrated file directory.
Setelah Anda mengaktifkan fitur ini, sistem akan memasang direktori file terkelola ke dalam task. Hal ini memungkinkan Anda membaca dan menulis file dalam direktori tersebut secara langsung di dalam task.
Operasi pemasangan mengonsumsi sejumlah sumber daya komputasi Driver tertentu. Sumber daya yang dikonsumsi adalah nilai terbesar dari dua nilai berikut:
Sumber daya tetap: 0,3 core CPU + 1 GB memori.
Sumber daya dinamis: 10% dari sumber daya
spark.driver(yaitu0,1 × spark.drivercore dan memori).
Sebagai contoh, jika
spark.driverdikonfigurasi dengan 4 core CPU dan 8 GB memori, maka sumber daya dinamisnya adalah 0,4 core CPU + 0,8 GB memori. Dalam kasus ini, sumber daya yang benar-benar dikonsumsi adalahmax(0,3 Core + 1GB, 0,4 Core + 0,8GB), yaitu 0,4 core CPU + 1 GB memori.CatatanSetelah Anda mengaktifkan pemasangan, direktori hanya dipasang ke driver secara default. Untuk memasang direktori tersebut juga ke executor, aktifkan Mount to Executor.
PentingSetelah Anda memasang direktori file NAS terintegrasi, Anda harus mengonfigurasi koneksi jaringan. VPC dari koneksi jaringan harus sama dengan VPC tempat titik pemasangan NAS berada.
Mount to Executor
Setelah Anda mengaktifkan fitur ini, sistem akan memasang direktori file terkelola ke executor task. Hal ini memungkinkan Anda membaca dan menulis file dalam direktori tersebut secara langsung di dalam executor task.
Pemasangan ini mengonsumsi sumber daya executor. Proporsi sumber daya yang dikonsumsi bervariasi tergantung pada penggunaan file yang dipasang.
spark.driver.cores
Jumlah core CPU yang digunakan oleh driver dalam aplikasi Spark.
spark.driver.memory
Jumlah memori yang tersedia untuk driver dalam aplikasi Spark.
spark.executor.cores
Jumlah core CPU virtual yang digunakan oleh setiap executor dalam aplikasi Spark.
spark.executor.memory
Jumlah memori yang tersedia untuk setiap executor dalam aplikasi Spark.
spark.executor.instances
Jumlah executor yang dialokasikan oleh Spark.
Dynamic Resource Allocation
Fitur ini dinonaktifkan secara default. Setelah Anda mengaktifkan fitur ini, konfigurasikan parameter berikut:
Minimum Number of Executors: Nilai default-nya adalah 2.
Maximum Number of Executors: Jika spark.executor.instances tidak diatur, nilai default-nya adalah 10.
More Memory Configurations
spark.driver.memoryOverhead: Memori non-heap yang tersedia untuk setiap driver. Jika parameter ini tidak diatur, Spark secara otomatis mengalokasikan nilai berdasarkan rumus default:
max(384 MB, 10% × spark.driver.memory).spark.executor.memoryOverhead: Memori non-heap yang tersedia untuk setiap executor. Jika parameter ini tidak diatur, Spark secara otomatis mengalokasikan nilai berdasarkan rumus default:
max(384 MB, 10% × spark.executor.memory).spark.memory.offHeap.size: Ukuran memori off-heap yang tersedia untuk Spark. Nilai default-nya adalah 1 GB.
Parameter ini hanya berlaku ketika
spark.memory.offHeap.enableddiatur ketrue. Secara default, saat Anda menggunakan Fusion Engine, fitur ini diaktifkan dan memori non-heap diatur ke 1 GB.
Spark Configuration
Masukkan informasi konfigurasi Spark. Pisahkan pasangan kunci-nilai dengan spasi. Contohnya,
key value.Tags
Masukkan pasangan kunci-nilai untuk tag. Tag membantu Anda mengelola task dengan lebih nyaman dan presisi.
Spark Submit
Parameter
Description
Engine Version
Versi Spark. Untuk informasi selengkapnya, lihat Introduction to engine versions.
Script
Masukkan skrip Spark Submit Anda.
Kode berikut memberikan contoh:
--class org.apache.spark.examples.SparkPi \ --conf spark.executor.memory=2g \ oss://<YourBucket>/spark-examples_2.12-3.3.1.jarTimeout
Waktu maksimum yang diizinkan untuk menyelesaikan task ini. Jika task berjalan lebih lama dari ambang batas ini, sistem akan secara otomatis menghentikan task tersebut. Nilai default-nya kosong, yang berarti tidak ada batas timeout.
Network Connection
Mount Integrated File Directory
Fitur ini dinonaktifkan secara default. Untuk menggunakan fitur ini, pertama-tama tambahkan direktori file pada halaman Files di tab Integrated File Directory. Untuk informasi selengkapnya, lihat Integrated file directory.
Setelah Anda mengaktifkan fitur ini, sistem akan memasang direktori file terkelola ke dalam task. Hal ini memungkinkan Anda membaca dan menulis file dalam direktori tersebut secara langsung di dalam task.
Operasi pemasangan mengonsumsi sejumlah sumber daya komputasi Driver tertentu. Sumber daya yang dikonsumsi adalah nilai terbesar dari dua nilai berikut:
Sumber daya tetap: 0,3 core CPU + 1 GB memori.
Sumber daya dinamis: 10% dari sumber daya
spark.driver(yaitu0,1 × spark.drivercore dan memori).
Sebagai contoh, jika
spark.driverdikonfigurasi dengan 4 core CPU dan 8 GB memori, maka sumber daya dinamisnya adalah 0,4 core CPU + 0,8 GB memori. Dalam kasus ini, sumber daya yang benar-benar dikonsumsi adalahmax(0,3 Core + 1GB, 0,4 Core + 0,8GB), yaitu 0,4 core CPU + 1 GB memori.CatatanSetelah Anda mengaktifkan pemasangan, direktori hanya dipasang ke driver secara default. Untuk memasang direktori tersebut juga ke executor, aktifkan Mount to Executor.
PentingSetelah Anda memasang direktori file NAS terintegrasi, Anda harus mengonfigurasi koneksi jaringan. VPC dari koneksi jaringan harus sama dengan VPC tempat titik pemasangan NAS berada.
Mount to Executor
Setelah Anda mengaktifkan fitur ini, sistem akan memasang direktori file terkelola ke executor task. Hal ini memungkinkan Anda membaca dan menulis file dalam direktori tersebut secara langsung di dalam executor task.
Pemasangan ini mengonsumsi sumber daya executor. Proporsi sumber daya yang dikonsumsi bervariasi tergantung pada penggunaan file yang dipasang.
spark.driver.cores
Jumlah core CPU yang digunakan oleh driver dalam aplikasi Spark.
spark.driver.memory
Jumlah memori yang tersedia untuk driver dalam aplikasi Spark.
spark.executor.cores
Jumlah core CPU virtual yang digunakan oleh setiap executor dalam aplikasi Spark.
spark.executor.memory
Jumlah memori yang tersedia untuk setiap executor dalam aplikasi Spark.
spark.executor.instances
Jumlah executor yang dialokasikan oleh Spark.
Dynamic Resource Allocation
Fitur ini dinonaktifkan secara default. Setelah Anda mengaktifkan fitur ini, konfigurasikan parameter berikut:
Minimum Number of Executors: Nilai default-nya adalah 2.
Maximum Number of Executors: Jika spark.executor.instances tidak diatur, nilai default-nya adalah 10.
More Memory Configurations
spark.driver.memoryOverhead: Memori non-heap yang tersedia untuk setiap driver. Jika parameter ini tidak diatur, Spark secara otomatis mengalokasikan nilai berdasarkan rumus default:
max(384 MB, 10% × spark.driver.memory).spark.executor.memoryOverhead: Memori non-heap yang tersedia untuk setiap executor. Jika parameter ini tidak diatur, Spark secara otomatis mengalokasikan nilai berdasarkan rumus default:
max(384 MB, 10% × spark.executor.memory).spark.memory.offHeap.size: Ukuran memori off-heap yang tersedia untuk Spark. Nilai default-nya adalah 1 GB.
Parameter ini hanya berlaku ketika
spark.memory.offHeap.enableddiatur ketrue. Secara default, saat Anda menggunakan Fusion Engine, fitur ini diaktifkan dan memori non-heap diatur ke 1 GB.
Spark Configuration
Masukkan informasi konfigurasi Spark. Pisahkan pasangan kunci-nilai dengan spasi. Contohnya,
key value.Tags
Masukkan pasangan kunci-nilai untuk tag. Tag membantu Anda mengelola task dengan lebih nyaman dan presisi.
(Opsional) Di sisi kanan halaman pengembangan task, Anda dapat mengklik tab Version Information untuk melihat informasi versi atau membandingkan versi.
Jalankan dan publikasikan task.
Klik Run.
Setelah task dijalankan, pada area Execution Records di bagian bawah, klik Details di kolom Actions. Anda akan diarahkan ke halaman Overview tempat Anda dapat melihat detail task.
Di pojok kanan atas, klik Publish.
Pada kotak dialog Publish, Anda dapat memasukkan Remarks, lalu klik OK.
Dokumen Terkait
Untuk contoh lengkap proses pengembangan task JAR, lihat Quick Start for JAR development.
Untuk contoh lengkap proses pengembangan task Spark Submit, lihat Quick Start for Spark Submit development.
Untuk contoh lengkap proses pengembangan dan orkestrasi task SQL, lihat Quick Start for SparkSQL development.
Untuk contoh lengkap proses pengembangan task batch PySpark, lihat Quick Start for PySpark development.
Untuk contoh lengkap proses pengembangan task streaming PySpark, lihat Submit a PySpark streaming task using Serverless Spark.
FAQ
Q1: Bagaimana cara mengatur kebijakan retry otomatis untuk task yang gagal?
Untuk meningkatkan toleransi kesalahan task streaming, Anda dapat mengatur kebijakan retry otomatis menggunakan dua item konfigurasi Spark berikut:
spark.emr.serverless.streaming.fail.retry.interval 60 # Interval retry: 60 detik
spark.emr.serverless.streaming.fail.retry.time 3 # Maksimum retry: 3