Topik ini menjelaskan item konfigurasi dan prosedur untuk mengembangkan tugas batch atau streaming.
Prasyarat
Ruang kerja telah dibuat. Untuk informasi selengkapnya, lihat Manage workspaces.
Prosedur
Buka halaman Data Development.
Masuk ke Konsol E-MapReduce.
Di panel navigasi kiri, pilih .
Pada halaman Spark, klik nama ruang kerja yang dituju.
Pada halaman EMR Serverless Spark, klik Development di panel navigasi kiri.
Buat tugas.
Pada tab Development, klik ikon
(New).Pada kotak dialog, masukkan Name, pilih jenis tugas batch atau streaming, lalu klik OK.
Di pojok kanan atas, pilih antrian sumber daya.
Pada editor tugas baru, edit parameter berdasarkan jenis tugas Anda.
JAR
Parameter
Description
Main JAR Resource
Paket JAR utama yang diperlukan untuk menjalankan tugas.
Workspace: File yang sebelumnya telah Anda unggah ke halaman Artifacts.
OSS: File yang disimpan di Alibaba Cloud Object Storage Service (OSS).
Engine Version
Versi Spark. Untuk informasi selengkapnya, lihat Engine versions.
Main class
Kelas utama yang ditentukan saat Anda mengirimkan tugas Spark.
Execution Parameters
Item konfigurasi yang diperlukan selama waktu proses tugas atau parameter kustom yang diteruskan ke kelas utama. Pisahkan beberapa parameter dengan spasi.
Timeout
Waktu maksimum yang diizinkan untuk menyelesaikan tugas ini. Jika tugas berjalan lebih lama dari ambang batas ini, sistem akan secara otomatis menghentikan tugas tersebut. Nilai default kosong, yang berarti tidak ada batas timeout.
Network Connection
Pilih koneksi jaringan yang sudah ada untuk mengakses sumber data di VPC atau layanan eksternal. Untuk informasi selengkapnya tentang cara membuat koneksi jaringan, lihat Network connectivity between EMR Serverless Spark and other VPCs.
Mount Integrated File Directory
Fitur ini dinonaktifkan secara default. Untuk menggunakan fitur ini, tambahkan direktori file di halaman Artifacts, pada tab Integrated File Directory. Untuk informasi selengkapnya, lihat Manage the integrated file directory.
Mengaktifkan fitur ini akan memasang direktori file terkelola ke aplikasi, sehingga aplikasi dapat langsung membaca dan menulis file dalam direktori tersebut.
Operasi pemasangan ini mengonsumsi sumber daya komputasi driver. Jumlah yang dikonsumsi adalah nilai terbesar dari dua nilai berikut:
Sumber daya tetap: 0,3 vCPU + 1 GB memori.
Sumber daya dinamis: 10% dari sumber daya
spark.driver(yaitu, 10% dari core dan memorispark.driver).
Sebagai contoh, jika
spark.driverdikonfigurasi dengan 4 core dan 8 GB memori, sumber daya dinamisnya adalah 0,4 vCPU + 0,8 GB memori. Dalam kasus ini, sumber daya yang benar-benar dikonsumsi adalahmax(0,3 vCPU + 1 GB, 0,4 vCPU + 0,8 GB), yaitu 0,4 vCPU + 1 GB memori.CatatanMount scope: Secara default, direktori file hanya dipasang ke driver. Untuk memasangnya juga ke executor, aktifkan Mount to Executor.
Multiple directories: Anda dapat memasang beberapa direktori file terintegrasi. Namun, direktori CPFS tidak dapat digunakan bersama jenis lainnya. Misalnya, Anda dapat memasang beberapa direktori OSS dan NAS secara bersamaan, tetapi tidak dapat memasang CPFS bersama OSS atau NAS.
Network requirements: Saat Anda memasang direktori file NAS atau CPFS, Anda harus mengonfigurasi koneksi jaringan. VPC dari koneksi jaringan harus sama dengan VPC dari titik pemasangan NAS atau CPFS.
Mount to Executor
Mengaktifkan fitur ini akan memasang direktori file terkelola ke executor aplikasi, sehingga executor dapat langsung membaca dan menulis file dalam direktori tersebut.
Operasi pemasangan ini mengonsumsi sumber daya executor. Jumlah sumber daya yang dikonsumsi bervariasi tergantung pada penggunaan file yang dipasang.
File Resources
Saat Anda mengirimkan tugas, file yang ditentukan oleh parameter
--filesakan disalin ke direktori kerja executor. Hal ini memastikan bahwa tugas Spark dapat mengakses file-file tersebut selama waktu proses.Anda dapat memilih file dari Workspace atau OSS.
Archive Resources
Saat Anda mengirimkan tugas, file yang ditentukan oleh parameter
--archivesakan didekompresi dan didistribusikan ke objek arsip di executor.Anda dapat memilih arsip dari Workspace atau OSS.
JAR Resources
Saat Anda mengirimkan tugas, tentukan file dependensi JAR yang diperlukan menggunakan parameter
--jars.Anda dapat memilih JAR dari 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
Dinonaktifkan secara default. Saat diaktifkan, konfigurasikan parameter berikut:
Minimum Number of Executors: Nilai default adalah 2.
Maximum Number of Executors: Jika spark.executor.instances tidak diatur, nilai default adalah 10.
More Memory Configurations
spark.driver.memoryOverhead: Memori non-heap yang tersedia untuk driver. Jika parameter ini tidak diatur, Spark secara otomatis mengalokasikan nilai berdasarkan default, yaitu
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 default, yaitu
max(384 MB, 10% * spark.executor.memory).spark.memory.offHeap.size: Jumlah memori off-heap yang tersedia untuk Spark. Nilai default adalah 1 GB.
Parameter ini hanya berlaku ketika
spark.memory.offHeap.enableddiatur ketrue. Saat menggunakan engine Fusion, fitur ini diaktifkan secara default dengan memori off-heap sebesar 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 tugas dengan lebih nyaman dan tepat.
PySpark
Parameter
Description
Main Python Resources
File Python utama yang diperlukan untuk menjalankan tugas.
Workspace: File yang telah Anda unggah di halaman Artifacts.
OSS: File yang disimpan di Object Storage Service (OSS).
Engine Version
Versi Spark. Untuk informasi selengkapnya, lihat Engine versions.
Execution Parameters
Item konfigurasi yang diperlukan selama waktu proses tugas atau parameter kustom yang diteruskan ke kelas utama.
Timeout
Waktu maksimum yang diizinkan untuk menyelesaikan tugas ini. Jika tugas berjalan lebih lama dari ambang batas ini, sistem akan secara otomatis menghentikan tugas tersebut. Nilai default kosong, yang berarti tidak ada batas timeout.
Environment
Sumber daya yang diperlukan untuk menjalankan tugas telah dikonfigurasi sebelumnya berdasarkan lingkungan yang dipilih.
Network Connection
Pilih koneksi jaringan yang sudah ada untuk mengakses sumber data di VPC atau layanan eksternal. Untuk informasi selengkapnya tentang cara membuat koneksi jaringan, lihat Network connectivity between EMR Serverless Spark and other VPCs.
Mount Integrated File Directory
Fitur ini dinonaktifkan secara default. Untuk menggunakan fitur ini, tambahkan direktori file di halaman Artifacts, pada tab Integrated File Directory. Untuk informasi selengkapnya, lihat Manage the integrated file directory.
Saat diaktifkan, fitur ini memasang direktori file terkelola ke tugas, sehingga memungkinkan akses baca dan tulis langsung ke file dalam direktori tersebut.
Operasi pemasangan ini mengonsumsi sumber daya komputasi driver. Jumlah yang dikonsumsi adalah nilai terbesar dari dua nilai berikut:
Sumber daya tetap: 0,3 vCPU + 1 GB memori.
Sumber daya dinamis: 10% dari sumber daya
spark.driver(yaitu, 10% dari core dan memorispark.driver).
Sebagai contoh, jika
spark.driverdikonfigurasi dengan 4 core dan 8 GB memori, sumber daya dinamisnya adalah 0,4 vCPU + 0,8 GB memori. Dalam kasus ini, sumber daya yang benar-benar dikonsumsi adalahmax(0,3 vCPU + 1 GB, 0,4 vCPU + 0,8 GB), yaitu 0,4 vCPU + 1 GB memori.CatatanMount scope: Secara default, direktori file hanya dipasang ke driver. Untuk memasangnya juga ke executor, aktifkan Mount to Executor.
Multiple directories: Anda dapat memasang beberapa direktori file terintegrasi. Namun, direktori CPFS tidak dapat digunakan bersama jenis lainnya. Misalnya, Anda dapat memasang beberapa direktori OSS dan NAS secara bersamaan, tetapi tidak dapat memasang CPFS bersama OSS atau NAS.
Network requirements: Saat Anda memasang direktori file NAS atau CPFS, Anda harus mengonfigurasi koneksi jaringan. VPC dari koneksi jaringan harus sama dengan VPC dari titik pemasangan NAS atau CPFS.
Mount to Executor
Saat diaktifkan, fitur ini memasang direktori file terkelola ke executor tugas, sehingga memungkinkan mereka melakukan akses baca dan tulis langsung ke file dalam direktori tersebut.
Operasi pemasangan ini mengonsumsi sumber daya executor. Persentase sumber daya yang dikonsumsi bervariasi tergantung pada penggunaan file yang dipasang.
File Resources
Daftar file yang akan didistribusikan ke semua node executor di kluster.
Untuk jenis sumber daya, Anda dapat memilih Workspace atau OSS.
Pyfiles Resources
Saat Anda mengirimkan tugas, file yang ditentukan oleh parameter
--py-filesakan didistribusikan sebagai file dependensi Python.Untuk jenis sumber daya, Anda dapat memilih Workspace atau OSS.
Archive Resources
Saat Anda mengirimkan tugas, file yang ditentukan oleh parameter
--archivesakan didekompresi dan didistribusikan ke objek arsip di executor.Untuk jenis sumber daya, Anda dapat memilih Workspace atau OSS.
JAR Resources
Saat Anda mengirimkan tugas, tentukan file dependensi JAR yang diperlukan menggunakan parameter
--jars.Untuk jenis 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
Dinonaktifkan secara default. Saat diaktifkan, konfigurasikan parameter berikut:
Minimum Number of Executors: Nilai default adalah 2.
Maximum Number of Executors: Jika spark.executor.instances tidak diatur, nilai default adalah 10.
More Memory Configurations
spark.driver.memoryOverhead: Memori non-heap yang tersedia untuk driver. Jika parameter ini tidak diatur, Spark secara otomatis mengalokasikan nilai berdasarkan default, yaitu
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 default, yaitu
max(384 MB, 10% * spark.executor.memory).spark.memory.offHeap.size: Jumlah memori off-heap yang tersedia untuk Spark. Nilai default adalah 1 GB.
Parameter ini hanya berlaku ketika
spark.memory.offHeap.enableddiatur ketrue. Saat menggunakan engine Fusion, fitur ini diaktifkan secara default dengan memori off-heap sebesar 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 tugas dengan lebih nyaman dan tepat.
SQL
Parameter
Description
SQL File
File yang diperlukan saat Anda mengirimkan tugas.
Workspace: File dari halaman Artifacts.
OSS: File dari Alibaba Cloud OSS.
Engine Version
Versi Spark. Untuk informasi selengkapnya, lihat Engine versions.
Timeout
Waktu maksimum yang diizinkan untuk menyelesaikan tugas ini. Jika tugas berjalan lebih lama dari ambang batas ini, sistem akan secara otomatis menghentikan tugas tersebut. Nilai default kosong, yang berarti tidak ada batas timeout.
Network Connection
Pilih koneksi jaringan yang sudah ada untuk mengakses sumber data di VPC atau layanan eksternal. Untuk informasi selengkapnya tentang cara membuat koneksi jaringan, lihat Network connectivity between EMR Serverless Spark and other VPCs.
Mount Integrated File Directory
Fitur ini dinonaktifkan secara default. Untuk menggunakan fitur ini, tambahkan direktori file di halaman Artifacts, pada tab Integrated File Directory. Untuk informasi selengkapnya, lihat Manage the integrated file directory.
Saat diaktifkan, sistem memasang direktori file terkelola ke tugas, sehingga memungkinkan tugas membaca dan menulis ke direktori tersebut.
Operasi pemasangan ini mengonsumsi sumber daya komputasi driver. Jumlah yang dikonsumsi adalah nilai terbesar dari dua nilai berikut:
Sumber daya tetap: 0,3 vCPU + 1 GB memori.
Sumber daya dinamis: 10% dari sumber daya
spark.driver(yaitu, 10% dari core dan memorispark.driver).
Sebagai contoh, jika
spark.driverdikonfigurasi dengan 4 core dan 8 GB memori, sumber daya dinamisnya adalah 0,4 vCPU + 0,8 GB memori. Dalam kasus ini, sumber daya yang benar-benar dikonsumsi adalahmax(0,3 vCPU + 1 GB, 0,4 vCPU + 0,8 GB), yaitu 0,4 vCPU + 1 GB memori.CatatanMount scope: Secara default, direktori file hanya dipasang ke driver. Untuk memasangnya juga ke executor, aktifkan Mount to Executor.
Multiple directories: Anda dapat memasang beberapa direktori file terintegrasi. Namun, direktori CPFS tidak dapat digunakan bersama jenis lainnya. Misalnya, Anda dapat memasang beberapa direktori OSS dan NAS secara bersamaan, tetapi tidak dapat memasang CPFS bersama OSS atau NAS.
Network requirements: Saat Anda memasang direktori file NAS atau CPFS, Anda harus mengonfigurasi koneksi jaringan. VPC dari koneksi jaringan harus sama dengan VPC dari titik pemasangan NAS atau CPFS.
Mount to Executor
Saat diaktifkan, sistem memasang direktori file terkelola ke Executor tugas, sehingga memungkinkan mereka membaca dan menulis ke direktori tersebut.
Operasi pemasangan ini mengonsumsi sumber daya Executor. Persentase sumber daya yang dikonsumsi bervariasi tergantung pada 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
Dinonaktifkan secara default. Saat diaktifkan, konfigurasikan parameter berikut:
Minimum Number of Executors: Nilai default adalah 2.
Maximum Number of Executors: Jika spark.executor.instances tidak diatur, nilai default adalah 10.
More Memory Configurations
spark.driver.memoryOverhead: Memori non-heap yang tersedia untuk driver. Jika parameter ini tidak diatur, Spark secara otomatis mengalokasikan nilai berdasarkan default, yaitu
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 default, yaitu
max(384 MB, 10% * spark.executor.memory).spark.memory.offHeap.size: Jumlah memori off-heap yang tersedia untuk Spark. Nilai default adalah 1 GB.
Parameter ini hanya berlaku ketika
spark.memory.offHeap.enableddiatur ketrue. Saat menggunakan engine Fusion, fitur ini diaktifkan secara default dengan memori off-heap sebesar 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 tugas dengan lebih nyaman dan tepat.
Spark Submit
Parameter
Description
Engine Version
Versi Spark. Untuk informasi selengkapnya, lihat 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 tugas ini. Jika tugas berjalan lebih lama dari ambang batas ini, sistem akan secara otomatis menghentikan tugas tersebut. Nilai default kosong, yang berarti tidak ada batas timeout.
Network Connection
Pilih koneksi jaringan yang sudah ada untuk mengakses sumber data di VPC atau layanan eksternal. Untuk informasi selengkapnya tentang cara membuat koneksi jaringan, lihat Network connectivity between EMR Serverless Spark and other VPCs.
Mount Integrated File Directory
Fitur ini dinonaktifkan secara default. Untuk menggunakan fitur ini, tambahkan direktori file di halaman Artifacts, pada tab Integrated File Directory. Untuk informasi selengkapnya, lihat Manage the integrated file directory.
Saat diaktifkan, fitur ini memasang direktori file terkelola ke aplikasi, sehingga memungkinkan aplikasi langsung membaca dan menulis ke direktori tersebut.
Operasi pemasangan ini mengonsumsi sumber daya komputasi driver. Jumlah yang dikonsumsi adalah nilai terbesar dari dua nilai berikut:
Sumber daya tetap: 0,3 vCPU + 1 GB memori.
Sumber daya dinamis: 10% dari sumber daya
spark.driver(yaitu, 10% dari core dan memorispark.driver).
Sebagai contoh, jika
spark.driverdikonfigurasi dengan 4 core dan 8 GB memori, sumber daya dinamisnya adalah 0,4 vCPU + 0,8 GB memori. Dalam kasus ini, sumber daya yang benar-benar dikonsumsi adalahmax(0,3 vCPU + 1 GB, 0,4 vCPU + 0,8 GB), yaitu 0,4 vCPU + 1 GB memori.CatatanMount scope: Secara default, direktori file hanya dipasang ke driver. Untuk memasangnya juga ke executor, aktifkan Mount to Executor.
Multiple directories: Anda dapat memasang beberapa direktori file terintegrasi. Namun, direktori CPFS tidak dapat digunakan bersama jenis lainnya. Misalnya, Anda dapat memasang beberapa direktori OSS dan NAS secara bersamaan, tetapi tidak dapat memasang CPFS bersama OSS atau NAS.
Network requirements: Saat Anda memasang direktori file NAS atau CPFS, Anda harus mengonfigurasi koneksi jaringan. VPC dari koneksi jaringan harus sama dengan VPC dari titik pemasangan NAS atau CPFS.
Mount to Executor
Saat diaktifkan, fitur ini memasang direktori file terkelola ke executor aplikasi, sehingga memungkinkan mereka langsung membaca dan menulis ke direktori tersebut.
Jumlah sumber daya executor yang dikonsumsi bergantung pada cara file yang dipasang digunakan.
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
Dinonaktifkan secara default. Saat diaktifkan, konfigurasikan parameter berikut:
Minimum Number of Executors: Nilai default adalah 2.
Maximum Number of Executors: Jika spark.executor.instances tidak diatur, nilai default adalah 10.
More Memory Configurations
spark.driver.memoryOverhead: Memori non-heap yang tersedia untuk driver. Jika parameter ini tidak diatur, Spark secara otomatis mengalokasikan nilai berdasarkan default, yaitu
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 default, yaitu
max(384 MB, 10% * spark.executor.memory).spark.memory.offHeap.size: Jumlah memori off-heap yang tersedia untuk Spark. Nilai default adalah 1 GB.
Parameter ini hanya berlaku ketika
spark.memory.offHeap.enableddiatur ketrue. Saat menggunakan engine Fusion, fitur ini diaktifkan secara default dengan memori off-heap sebesar 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 tugas dengan lebih nyaman dan tepat.
(Opsional) Di sisi kanan halaman pengembangan tugas, klik tab Version Information untuk melihat atau membandingkan versi.
Jalankan dan publikasikan tugas.
Klik Run.
Untuk melihat detail tugas, buka area Execution Records di bagian bawah setelah tugas dijalankan, lalu klik Details pada kolom Actions.
Di pojok kanan atas, klik Publish.
Pada kotak dialog Publish, masukkan Remarks lalu klik OK.
Dokumen Terkait
FAQ
Q1: Bagaimana cara mengatur kebijakan retry otomatis untuk tugas yang gagal?
Untuk meningkatkan toleransi kesalahan tugas streaming, Anda dapat mengatur kebijakan retry otomatis menggunakan dua item konfigurasi Spark berikut:
spark.emr.serverless.streaming.fail.retry.interval 60 # Retry interval: 60 seconds
spark.emr.serverless.streaming.fail.retry.time 3 # Maximum retries: 3