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 Anda, 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 telah Anda unggah sebelumnya 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 diaktifkan, sistem akan memasang direktori file terkelola ke task, sehingga memungkinkan akses baca dan tulis langsung ke file dalam direktori tersebut 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, 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 tersebut 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 diaktifkan, sistem akan memasang direktori file terkelola ke Executor task, sehingga memungkinkan akses baca dan tulis langsung ke file dalam direktori tersebut di dalam Executor task.
Pemasangan ini mengonsumsi sumber daya Executor. Konsumsi sumber daya spesifik bervariasi tergantung penggunaan file.
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 sumber daya, Anda dapat memilih Workspace atau OSS sesuai kebutuhan.
Archive Resources
Saat Anda mengirimkan pekerjaan, file arsip yang ditentukan dengan parameter
--archivesakan dibuka dan didistribusikan ke executor.Saat menentukan tipe sumber daya, Anda dapat memilih Workspace atau OSS.
JAR Resources
Saat Anda mengirimkan task, tentukan file dependensi JAR yang diperlukan menggunakan parameter
--jars.Saat menentukan tipe sumber daya, 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 tepat.
PySpark
Parameter
Description
Main Python Resources
File Python utama yang diperlukan untuk menjalankan task.
Workspace: File yang diunggah sebelumnya 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 diaktifkan, sistem akan memasang direktori file terkelola ke task, sehingga memungkinkan akses baca dan tulis langsung ke file dalam direktori tersebut 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, 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 tersebut 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 diaktifkan, sistem akan memasang direktori file terkelola ke Executor task, sehingga memungkinkan akses baca dan tulis langsung ke file dalam direktori tersebut di dalam Executor task.
Pemasangan ini mengonsumsi sumber daya Executor. Konsumsi sumber daya spesifik bervariasi tergantung penggunaan file.
File Resources
Daftar file yang akan didistribusikan ke semua node executor dalam kluster.
Saat menentukan tipe sumber daya, 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 sumber daya, Anda dapat memilih Workspace atau OSS.
Archive Resources
File yang ditentukan dengan parameter
--archivesakan di-uncompress dan didistribusikan ke Executor sebagai objek arsip saat task dikirimkan.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 sumber daya, Anda dapat memilih Workspace atau OSS.
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 tepat.
SQL
Parameter
Description
SQL File
File yang diperlukan saat Anda mengirimkan task.
Workspace: file yang Anda unggah pada halaman Files sebelum mengirimkan pekerjaan.
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 diaktifkan, sistem akan memasang direktori file terkelola ke task, sehingga memungkinkan akses baca dan tulis langsung ke file dalam direktori tersebut 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, 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 tersebut 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 diaktifkan, sistem akan memasang direktori file terkelola ke Executor task, sehingga memungkinkan akses baca dan tulis langsung ke file dalam direktori tersebut di dalam Executor task.
Pemasangan ini mengonsumsi sumber daya Executor. Konsumsi sumber daya spesifik bervariasi tergantung penggunaan file.
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 tepat.
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.5.2.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 diaktifkan, sistem akan memasang direktori file terkelola ke task, sehingga memungkinkan akses baca dan tulis langsung ke file dalam direktori tersebut 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, 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 tersebut 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 diaktifkan, sistem akan memasang direktori file terkelola ke Executor task, sehingga memungkinkan akses baca dan tulis langsung ke file dalam direktori tersebut di dalam Executor task.
Pemasangan ini mengonsumsi sumber daya Executor. Konsumsi sumber daya spesifik bervariasi tergantung penggunaan file.
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 tepat.
(Opsional) Di sisi kanan halaman pengembangan task, klik tab Version Information untuk melihat informasi versi atau membandingkan versi.
Jalankan dan publikasikan task.
Klik Run.
Setelah task dijalankan, buka area Execution Records di bagian bawah halaman dan klik Details pada kolom Actions. Anda akan diarahkan ke halaman Overview, tempat Anda dapat melihat detail task.
Di pojok kanan atas, klik Publish.
Pada kotak dialog Publish, masukkan Remarks dan 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