Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Pemantauan perencanaan kapasitas DPU

Mode fokus
Pemantauan perencanaan kapasitas DPU - AWS Glue

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Anda dapat menggunakan metrik pekerjaan AWS Glue untuk memperkirakan jumlah unit pemrosesan data (DPUs) yang dapat digunakan untuk menskalakan AWS Glue pekerjaan.

catatan

Halaman ini hanya berlaku untuk AWS Glue versi 0.9 dan 1.0. Versi selanjutnya AWS Glue berisi fitur hemat biaya yang memperkenalkan pertimbangan tambahan saat perencanaan kapasitas.

Kode diprofilkan

Skrip berikut membaca partisi Amazon Simple Storage Service (Amazon S3) yang berisi 428 file JSON gzip. Skrip tersebut menerapkan pemetaan untuk mengubah nama bidang, dan mengkonversi dan menuliskannya mereka ke Amazon S3 dalam format Apache Parquet. Anda menyediakan 10 DPUs sesuai default dan menjalankan pekerjaan ini.

datasource0 = glueContext.create_dynamic_frame.from_options(connection_type="s3", connection_options = {"paths": [input_path], "useS3ListImplementation":True,"recurse":True}, format="json") applymapping1 = ApplyMapping.apply(frame = datasource0, mappings = [(map_spec]) datasink2 = glueContext.write_dynamic_frame.from_options(frame = applymapping1, connection_type = "s3", connection_options = {"path": output_path}, format = "parquet")

Visualisasikan metrik yang diprofilkan pada AWS Glue konsol

Job run 1: Dalam menjalankan pekerjaan ini kami menunjukkan cara mencari jika ada yang kurang disediakan DPUs di cluster. Fungsionalitas eksekusi pekerjaan di AWS Glue menunjukkan jumlah total pelaksana yang aktif berjalan, jumlah tahapan yang diselesaikan, dan jumlah pelaksana maksimum yang dibutuhkan.

Jumlah pelaksana maksimum yang dibutuhkan dihitung dengan menambahkan jumlah total tugas berjalan dan tugas yang tertunda, dan membaginya dengan tugas per pelaksana. Hasil ini adalah ukuran jumlah total pelaksana yang diperlukan untuk memenuhi beban saat ini.

Sebaliknya, jumlah pelaksana yang berjalan aktif mengukur berapa banyak pelaksana yang menjalankan tugas Apache Spark secara aktif. Saat tugas berlangsung, pelaksana maksimum yang diperlukan dapat mengubah dan biasanya turun menjelang akhir tugas saat antrean tugas tertunda berkurang.

Garis merah horizontal pada grafik berikut menunjukkan jumlah pelaksana maksimum yang dialokasikan, yang tergantung pada jumlah yang Anda alokasikan untuk pekerjaan DPUs itu. Dalam hal ini, Anda mengalokasikan 10 DPUs untuk menjalankan pekerjaan. Satu DPU dicadangkan untuk pengelolaan. Sembilan DPUs menjalankan dua pelaksana masing-masing dan satu eksekutor dicadangkan untuk driver Spark. Driver Spark berjalan dalam aplikasi utama. Jadi, jumlah maksimum pelaksana yang dialokasikan adalah 2*9 - 1 = 17 pelaksana.

Metrik tugas yang menunjukkan pelaksana aktif dan pelaksana maksimum yang dibutuhkan.

Sebagaimana ditunjukkan dalam grafik, jumlah maksimum pelaksana yang diperlukan mulai pada 107 pada awal tugas, sedangkan jumlah pelaksana aktif tetap 17. Ini sama dengan jumlah pelaksana maksimum yang dialokasikan dengan 10. DPUs Rasio antara jumlah maksimum pelaksana yang dibutuhkan dan jumlah maksimum pelaksana yang dialokasikan (menambahkan 1 ke kedua driver Spark) memberi Anda faktor kurang-penyediaan: 108/18 = 6x. Anda dapat menyediakan 6 (di bawah rasio penyediaan) *9 (kapasitas DPU saat ini - 1) + 1 DPUs = 55 DPUs untuk skala pekerjaan untuk menjalankannya dengan paralelisme maksimum dan menyelesaikan lebih cepat.

Konsol AWS Glue menampilkan metrik tugas detail sebagai garis statis yang mewakili jumlah asli dari jumlah maksimum pelaksana yang dialokasikan. Konsol menghitung pelaksana maksimum yang dialokasikan dari definisi tugas untuk metrik. Berdasarkan batasan, untuk metrik job run yang mendetail, konsol menghitung eksekutor maksimum yang dialokasikan dari konfigurasi job run, khususnya yang dialokasikan untuk menjalankan pekerjaan. DPUs Untuk melihat metrik masing-masing eksekusi tugas, pilih sebuah eksekusi tugas dan pilih Lihat metrik eksekusi.

Metrik tugas yang menunjukkan pergerakan data ETL.

Melihat byte Amazon S3 yang di-baca dan di-tulis, perhatikan bahwa tugas menghabiskan waktu enam menit streaming data dari Amazon S3 dan menuliskannya secara paralel. Semua inti yang dialokasikan DPUs membaca dan menulis ke Amazon S3. Jumlah maksimum pelaksana yang dibutuhkan menjadi 107 juga cocok dengan jumlah file dalam input Amazon S3 path—yakni 428. Setiap pelaksana dapat meluncurkan empat tugas Spark untuk memproses empat file input (JSON gzip).

Tentukan kapasitas DPU yang optimal

Berdasarkan hasil dari pekerjaan sebelumnya, Anda dapat meningkatkan jumlah total yang DPUs dialokasikan menjadi 55, dan melihat bagaimana kinerja pekerjaan. Tugas selesai dalam waktu kurang dari tiga menit—setengah dari waktu yang dibutuhkan sebelumnya. Penskalaan keluar tugas tidak linear dalam hal ini karena eksekusi tugas merupakan eksekusi tugas singkat. Pekerjaan dengan tugas yang berumur panjang atau sejumlah besar tugas (sejumlah besar pelaksana maksimum yang dibutuhkan) mendapat manfaat dari percepatan kinerja skala close-to-linear DPU.

Grafik menunjukkan peningkatan jumlah total yang dialokasikan DPUs

Sebagaimana yang ditunjukkan gambar di atas, jumlah pelaksana aktif mencapai jumlah pelaksana maksimum yang dialokasikan—yakni, 107 pelaksana. Demikian pula, jumlah pelaksana maksimum yang dibutuhkan tidak pernah berada di atas jumlah maksimum pelaksana yang dialokasikan. Jumlah maksimum pelaksana yang dibutuhkan dihitung dari jumlah tugas yang aktif berjalan dan tertunda, sehingga mungkin lebih kecil dari jumlah pelaksana aktif. Hal ini karena dapat ada pelaksana yang sebagian atau seluruhnya menganggur dalam waktu singkat dan belum dinonaktifkan.

Grafik yang menunjukkan jumlah pelaksana aktif mencapai jumlah maksimum pelaksana yang dialokasikan.

Eksekusi tugas ini menggunakan 6x pelaksana lebih untuk membaca dan menulis dari Amazon S3 secara paralel. Akibatnya, eksekusi tugas ini menggunakan lebih banyak bandwidth Amazon S3 untuk membaca dan menulis, dan selesai lebih cepat.

Identifikasi kelebihan DPUs

Selanjutnya, Anda dapat menentukan apakah menskalakan pekerjaan dengan 100 DPUs (99 * 2 = 198 pelaksana) membantu untuk meningkatkan skala lebih jauh. Seperti yang ditunjukkan dalam grafik berikut, tugas masih membutuhkan waktu tiga menit untuk selesai. Demikian pula, pekerjaan tidak melampaui 107 eksekutor (55 DPUs konfigurasi), dan 91 eksekutor sisanya dilebih-lebihkan dan tidak digunakan sama sekali. Ini menunjukkan bahwa peningkatan jumlah DPUs mungkin tidak selalu meningkatkan kinerja, sebagaimana terbukti dari pelaksana maksimum yang dibutuhkan.

Grafik yang menunjukkan bahwa kinerja pekerjaan tidak selalu meningkat dengan meningkatkan jumlah DPUs.

Bandingkan perbedaan waktu

Tiga pekerjaan berjalan yang ditunjukkan dalam tabel berikut merangkum waktu pelaksanaan pekerjaan untuk 10 DPUs, 55 DPUs, dan 100 DPUs. Anda dapat menemukan bahwa kapasitas DPU untuk meningkatkan waktu pelaksanaan tugas menggunakan perkiraan yang Anda buat dengan memantau tugas pertama.

ID Tugas Jumlah DPUs Waktu eksekusi
jr_c894524c8ef5048a4d9... 10 6 menit.
jr_1a466cf2575e7ffe6856... 55 3 menit.
jr_34fa1ed4c6aa9ff0a814... 100 3 menit.
PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.