AWS Gluestreaming penskalaan otomatis - AWS Glue

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

AWS Gluestreaming penskalaan otomatis

Bagian berikut memberikan informasi tentang AWS Glue streaming autoscaling

Mengaktifkan Auto Scaling di AWS Glue Studio

Pada tab Job details di AWS Glue Studio, pilih jenis sebagai Spark atau Spark Streaming, dan versi Glue sebagai Glue 3.0 atau. Glue 4.0 Kemudian kotak centang akan muncul di bawah Jenis Pekerja.

  • Pilih opsi Skala jumlah pekerja secara otomatis.

  • Tetapkan jumlah maksimum pekerja untuk menentukan jumlah maksimum pekerja yang dapat dijual untuk menjalankan pekerjaan.

Mengaktifkan dan mengonfigurasi Auto AWS Glue Scaling di Studio.

Mengaktifkan Auto Scaling dengan AWS CLI atau SDK

Untuk mengaktifkan Auto Scaling Dari AWS CLI untuk menjalankan pekerjaan Anda, jalankan start-job-run dengan konfigurasi berikut:

{ "JobName": "<your job name>", "Arguments": { "--enable-auto-scaling": "true" }, "WorkerType": "G.2X", // G.1X and G.2X are allowed for Auto Scaling Jobs "NumberOfWorkers": 20, // represents Maximum number of workers ...other job run configurations... }

Setelah menjalankan tugas ETL selesai, Anda juga dapat menelepon get-job-run untuk memeriksa penggunaan sumber daya aktual dari pekerjaan yang dijalankan dalam DPU-detik. Catatan: bidang baru DPUSeconds hanya akan muncul untuk pekerjaan batch Anda di AWS Glue 3.0 atau yang lebih baru diaktifkan dengan Auto Scaling. Bidang ini tidak didukung untuk pekerjaan streaming.

$ aws glue get-job-run --job-name your-job-name --run-id jr_xx --endpoint https://glue.us-east-1.amazonaws.com --region us-east-1 { "JobRun": { ... "GlueVersion": "3.0", "DPUSeconds": 386.0 } }

Anda juga dapat mengonfigurasi job run dengan Auto Scaling menggunakan AWS GlueSDK dengan konfigurasi yang sama.

Cara kerjanya

Penskalaan di seluruh microbatch

Contoh berikut digunakan untuk menggambarkan cara kerja penskalaan otomatis.

  • Anda memiliki AWS Glue pekerjaan yang dimulai dengan 50 DPU.

  • Penskalaan otomatis diaktifkan.

Dalam contoh ini, AWS Glue lihat metrik batchProcessingTime InMs ““untuk beberapa batch mikro dan tentukan apakah pekerjaan Anda selesai dalam ukuran jendela yang telah Anda tetapkan. Jika pekerjaan Anda selesai lebih cepat dan tergantung pada seberapa cepat mereka selesai, AWS Glue dapat menurunkan skala. Metrik ini, diplot dengan” numberAllExecutors “dapat dipantau Amazon CloudWatch untuk melihat cara kerja penskalaan otomatis.

Jumlah eksekutor secara eksponensial naik atau turun hanya setelah setiap batch mikro selesai. Seperti yang dapat Anda lihat dari log Amazon CloudWatch Pemantauan, AWS Glue lihat jumlah pelaksana yang dibutuhkan (Garis Oranye) dan skala pelaksana (garis biru) untuk mencocokkannya secara otomatis.

Tangkapan layar menunjukkan log Amazon CloudWatch Pemantauan, AWS Glue untuk contoh yang diberikan di atas dan melihat jumlah pelaksana yang diperlukan (Garis Oranye) dan skala pelaksana (garis biru) untuk mencocokkannya tanpa perlu penyesuaian manual.

Setelah AWS Glue menurunkan jumlah pelaksana dan mengamati bahwa volume data meningkat, akibatnya meningkatkan waktu pemrosesan batch mikro, akan AWS Glue menskalakan hingga 50 DPU, yang merupakan batas atas yang ditentukan.

Penskalaan dalam microbatch

Dalam contoh di atas, sistem memantau beberapa batch mikro yang telah selesai untuk membuat keputusan apakah akan naik atau turun. Jendela yang lebih panjang membutuhkan penskalaan otomatis untuk merespons lebih cepat dalam microbatch, daripada menunggu beberapa batch mikro. Untuk kasus ini, Anda dapat menggunakan konfigurasi tambahan --auto-scaIe-within-microbatch untuktrue. Anda dapat menambahkan ini ke properti AWS Glue pekerjaan AWS Glue Studio seperti yang ditunjukkan di bawah ini.

Tangkapan layar menunjukkan parameter pekerjaan untuk kunci dan nilai. Bidang Kunci berisi nilai --auto-scaIe-within-microbatch dan bidang Nilai berisi nilaitrue.