Quota group (kuota) adalah kumpulan sumber daya komputasi di MaxCompute yang menyediakan CPU dan memori untuk pekerjaan komputasi Anda. MaxCompute memungkinkan Anda menetapkan pekerjaan ke kuota yang sesuai berdasarkan kebutuhan sumber dayanya, sehingga mendorong penggunaan sumber daya yang efisien.
Latar Belakang
Anda dapat menggunakan kuota MaxCompute dengan cara berikut:
Kaitkan proyek dengan kuota komputasi default. Pekerjaan yang dikirim dalam proyek tersebut akan berjalan di kuota ini.
Tentukan kuota komputasi pada level pekerjaan (use quota). Fitur ini memungkinkan Anda menetapkan pekerjaan dari satu proyek ke kuota yang berbeda, termasuk kuota subscription dan pay-as-you-go. Kuota yang ditentukan pada level pekerjaan memiliki prioritas lebih tinggi daripada kuota default proyek.
Konfigurasikan aturan untuk suatu kuota. Aturan ini menjadwalkan pekerjaan yang memenuhi kondisi aturan tersebut ke kuota tersebut.
Menetapkan kuota default untuk proyek
Anda dapat menetapkan kuota komputasi default untuk suatu proyek. Pekerjaan yang diinisiasi dalam proyek ini secara otomatis menggunakan kuota default untuk komputasi. Anda dapat mengaitkan proyek dengan kuota default saat membuat proyek atau mengubah kuota default proyek yang sudah ada di Konsol. Untuk informasi selengkapnya, lihat Manage projects.
Menentukan kuota pada level pekerjaan
Anda dapat menentukan kuota pada level pekerjaan dengan menambahkan perintah sebelum kueri pekerjaan. Fitur ini memeriksa apakah pemilik pekerjaan memiliki izin untuk menggunakan kuota yang ditentukan.
Create a quota
Untuk informasi selengkapnya tentang cara membuat kuota di Konsol baru, lihat Configure quotas.
CatatanKami menyarankan Anda menggunakan kombinasi huruf dan angka untuk nama kuota. Nama kuota berbahasa Tiongkok yang sudah ada masih dapat digunakan.
Grant permissions
Secara default, tidak ada akun (termasuk Akun Alibaba Cloud) atau role yang memiliki izin untuk menentukan kuota pada level pekerjaan. Anda harus memberikan izin ini secara eksplisit.
Create a role
Login ke MaxCompute console dan pilih Wilayah di pojok kiri atas.
Di panel navigasi sebelah kiri, pilih .
Pada halaman Tenants, klik tab Roles.
Pada tab Roles, klik Add Role. Di kotak dialog Add Role, masukkan Role Name kustom, isi Policy Content, lalu klik OK.
{ "Statement": [{ "Action": [ "odps:List", "odps:Usage"], "Effect": "Allow", "Resource": ["acs:odps:*:regions/*/quotas/*"]}], "Version": "1" }
Assign the role to the account that needs to specify a quota at the job level
Akun Alibaba Cloud Anda atau Pengguna RAM dengan izin Super_Administrator dapat memberikan izin ini.
Proses otorisasi bervariasi tergantung jenis akun.
Authorizing Alibaba Cloud accounts
Jalankan perintah berikut untuk mengotorisasi Akun Alibaba Cloud:
-- Add the Alibaba Cloud account to the tenant and grant a tenant role to the account. ADD TENANT USER <Aliyun$xxxx>; GRANT TENANT ROLE <role_name> TO USER <Aliyun$xxxx>; -- View the permissions of a tenant role or user. SHOW GRANTS FOR TENANT ROLE <role_name>; SHOW GRANTS FOR TENANT USER <user_name>; SHOW PRINCIPALS FOR TENANT [ROLE] <role_name>;Authorizing RAM users
Ikuti langkah-langkah berikut untuk mengotorisasi Pengguna RAM:
Login ke MaxCompute console dan pilih Wilayah di pojok kiri atas.
Di panel navigasi sebelah kiri, pilih .
Pada halaman Tenants, klik tab Users.
Pada tab Users, temukan Pengguna RAM yang dituju dan klik Modify Role di kolom Actions.
Di kotak dialog Edit Role, pindahkan role yang diinginkan dari bagian Available Roles ke bagian Added Roles, lalu klik OK.
Specify the quota for a job
Tambahkan perintah berikut sebelum kueri pekerjaan untuk menentukan kuota:
SET odps.task.wlm.quota = <quota_nick_name>;Parameter quota_nick_name menentukan nama panggilan kuota. Pengaturan ini hanya berlaku untuk kuota pemrosesan batch.
Untuk pekerjaan Spark, Anda harus menambahkan konfigurasi
spark.hadoop.odps.task.wlm.quotadan mengatur nilainya menjadi<quota_nick_name>.Untuk pekerjaan MaxCompute Query Acceleration (MCQA), perhatikan hal berikut:
Anda tidak dapat langsung menentukan kuota interaktif menggunakan perintah di atas. Sistem secara otomatis memilih kuota interaktif hanya ketika Anda mengaktifkan mode akselerasi kueri. Untuk informasi selengkapnya, lihat MaxCompute Query Acceleration (MCQA).
Kuota yang ditentukan oleh perintah
set odps.task.wlm.quota=<quota_nick_name>;adalah kuota fallback. Artinya, jika suatu tugas gagal berjalan di kuota interaktif, tugas tersebut akan dialihkan ke kuotaquota_nick_nameuntuk dieksekusi, bukan kuota akselerasi yang memilihquota_nick_name. Oleh karena itu, sumber daya yang dikonsumsi oleh pekerjaan yang berhasil dipercepat tetap dikenai biaya ke kuota komputasi default yang terikat pada proyek tempat pekerjaan tersebut dijalankan.Jika Anda tidak secara eksplisit menentukan parameter
odps.task.wlm.quota, pekerjaan interaktif pertama kali akan mencoba menggunakan kuota yang ditentukan oleh aturan kuota. Jika tidak ada aturan kuota yang dikonfigurasi, pekerjaan tersebut akan menggunakan kuota default proyek.
Aturan kuota
MaxCompute memungkinkan Anda mengonfigurasi aturan untuk suatu kuota. Pekerjaan yang memenuhi kondisi aturan tersebut dapat dijadwalkan untuk berjalan di kuota yang sesuai.
Batasan
Anda dapat mengonfigurasi aturan untuk kuota level-2 baik subscription maupun pay-as-you-go (Standard dan Idle).
Anda dapat mengonfigurasi maksimal 10 aturan untuk setiap kuota level-2.
Untuk setiap aturan, Anda dapat memasukkan hingga 50 objek untuk parameter Project dan Job Owner. Artinya, satu aturan dapat berlaku untuk maksimal 50 proyek dan 50 pemilik pekerjaan (UID).
Untuk setiap aturan, Anda dapat memasukkan maksimal lima pasangan kunci-nilai untuk Job Settings.
Untuk setiap aturan, rentang nilai prioritas pekerjaan adalah
[0, 9].
Konfigurasi aturan kuota
Semua aturan kuota yang dikonfigurasi aktif. Anda dapat menghapus aturan yang tidak diperlukan. Beberapa aturan memiliki hubungan logika OR. Jika suatu pekerjaan sesuai dengan salah satu aturan kuota, pekerjaan tersebut akan dijadwalkan atau dicegah menggunakan kuota tersebut, tergantung pada mode aturan. Anda dapat mengonfigurasi aturan kuota pemrosesan batch (offline rules) atau aturan kuota interaktif (interactive rules) sesuai kebutuhan.
Gunakan aturan ini secara hemat untuk menghindari terlalu banyak aturan yang dapat mempersulit maintenance di masa depan.
Login ke MaxCompute console dan pilih Wilayah di pojok kiri atas.
Di panel navigasi sebelah kiri, pilih .
Pada halaman Quotas, klik ikon
di sebelah kiri kuota level-1 untuk membukanya dan melihat daftar kuota level-2.Di kolom Actions kuota level-2 yang dituju, klik Rule Configuration.
Di kotak dialog Quota Rule Configuration, klik Add Rule, atau klik Clone di kolom Actions aturan yang sudah ada untuk membuat aturan baru. Konfigurasikan parameter seperti dijelaskan di bawah ini.
Dalam satu aturan, kondisi untuk beberapa proyek, jenis pekerjaan, dan Job Settings memiliki hubungan logika AND.
Aturan mulai berlaku sekitar 5 menit setelah Anda menambahkannya.
Kasus penggunaan
Penjadwalan pekerjaan MCQA
Jadwalkan pekerjaan MaxCompute Query Acceleration
Kuota akselerasi dan kuota fallback.
Pekerjaan MCQA memerlukan dua kuota:
Kuota akselerasi (jenis interaktif)
Kuota fallback (jenis pemrosesan batch).
Untuk menerapkan ini, konfigurasikan aturan kuota yang mengaitkan proyek atau pemilik pekerjaan dengan kuota akselerasi dan kuota fallback.
Aktifkan MCQA berdasarkan proyek, pemilik pekerjaan, atau kriteria lainnya.
Saat Anda membuat kuota jenis interaktif, Anda dapat mengonfigurasi kondisi aturan
ProjectListyang berbeda untuk kuota yang berbeda. Hal ini memungkinkan Anda mengaktifkan kuota interaktif berdasarkan proyek.
Isolasi pekerjaan pengisian ulang data
Isolasi pekerjaan pengisian ulang data
Pekerjaan pengisian ulang data, yang menjalankan ulang pekerjaan untuk mengisi kembali data historis, dapat mengonsumsi banyak sumber daya komputasi, terutama dalam rentang waktu yang panjang. Untuk menghindari gangguan terhadap operasi normal pekerjaan harian, kami menyarankan membuat kuota khusus dengan aturan tertentu untuk pekerjaan pengisian ulang data.
Misalnya, tugas terjadwal DataWorks secara konsisten meneruskan parameter SKYNET_DAGTYPE:3 ke Job Settings saat menginisiasi pekerjaan pengisian ulang data. Anda dapat menggunakan perilaku ini untuk mengonfigurasi aturan kuota berikut:
Buat kuota bernama
refilldan konfigurasikan aturan untuk kuotarefill. Jika Anda ingin semua pekerjaan pengisian ulang data yang diinisiasi oleh DataWorks berjalan di kuotarefillsecara default, konfigurasikan aturan mode normal. Untuk melakukannya, masukkanSKYNET_DAGTYPE=3di Job Settings.Anda juga dapat melakukan konfigurasi yang lebih detail. Misalnya, Anda mungkin hanya ingin pekerjaan pengisian ulang data dari proyek
P1dengan prioritas pekerjaan antara5 dan 9berjalan di kuotarefill. Untuk melakukannya, konfigurasikan aturan mode normal, pilihP1untuk proyek, masukkan[5,9]untuk prioritas, dan masukkanSKYNET_DAGTYPE=3untuk Job Settings.CatatanPrioritas di sini adalah prioritas pekerjaan MaxCompute, bukan prioritas garis dasar DataWorks. Rumus konversinya adalah:
Prioritas MaxCompute = 9 - Prioritas Garis Dasar DataWorks.
Isolasi pekerjaan berdasarkan peran
Isolasi pekerjaan dari peran yang berbeda
Anda dapat membuat beberapa kuota untuk mengisolasi pekerjaan dari peran yang berbeda.
Umumnya, Anda dapat membedakan peran pekerjaan menggunakan kombinasi dimensi berikut: Project, Job Owner, Job Type, Priority, dan Job Settings.
Ketika pekerjaan dari peran yang berbeda menggunakan proyek yang berbeda:
Anda dapat menambahkan nama proyek ke bidang Project dalam aturan kuota yang diinginkan.
Ketika pekerjaan dari peran yang berbeda dikirim oleh pengguna yang berbeda:
Anda dapat menambahkan UID pemilik pekerjaan ke bidang Job Owner dalam aturan kuota yang diinginkan.
Ketika pekerjaan dari peran yang berbeda memiliki konfigurasi yang berbeda:
Anda dapat menggunakan Job Settings untuk membedakan peran. Job Settings mengacu pada pernyataan
set xxx=xxx;yang dikirim bersama pekerjaan. Pernyataan tersebut dapat didefinisikan sendiri atau ditambahkan oleh sistem. Misalnya, pekerjaan dari DataWorks secara otomatis menyertakan parameter identifikasi.Ketika peran yang berbeda mengirim jenis pekerjaan yang berbeda:
Anda dapat menggunakan Job Type untuk membedakannya. Misalnya, pekerjaan pembelajaran mesin yang dikirim dari platform PAI memiliki Job Type
ALGO. Kueri SQL standar yang dikirim melalui MaxCompute memiliki Job TypeSQL.
Anda juga dapat menggabungkan kondisi aturan ini untuk mencapai kontrol penjadwalan pekerjaan yang lebih detail.