Dokumen ini menjelaskan flag MaxCompute, flag runtime, dan parameter runtime MaxFrame, serta menyediakan contoh konfigurasi terperinci yang mencakup makna, nilai default, rentang nilai yang tersedia, skenario umum, dan pengaturan yang direkomendasikan.
Contoh parameter MaxFrame
Flag SQL MaxCompute
Di MaxFrame, semua flag terkait SQL MaxCompute dikelola dalam kamus options.sql.settings.
from maxframe import options
options.sql.settings = {
# Contoh: Atur waktu proses maksimum pekerjaan menjadi 72 jam.
"odps.sql.job.max.time.hours": 72,
# Contoh: Tentukan custom image untuk pekerjaan.
"odps.session.image": "common",
# Contoh: Atur konkurensi menjadi 50000 untuk semua tabel input.
"odps.sql.split.dop": '{"*":50000}',
# Contoh: Atur ukuran batch pemrosesan data menjadi 1024 baris.
"odps.sql.executionengine.batch.rowcount": 1024,
}
Opsi MaxFrame
Parameter runtime MaxFrame dikonfigurasi langsung menggunakan format options.xxx. Kode berikut memberikan contohnya:
from maxframe import options
# Contoh: Atur periode retensi tautan LogView menjadi 24 jam.
options.session.logview_hours = 24
# Contoh: Atur jumlah percobaan ulang klien saat terjadi error yang dapat diulang.
options.retry_times = 3
# Contoh: Aktifkan fitur optimasi kueri bawaan MaxCompute.
options.sql.enable_mcqa = True
Flag MaxCompute
Tabel berikut menjelaskan flag umum dalam kamus options.sql.settings.
Kategori parameter | Parameter | Tujuan | Rentang nilai dan nilai default | Rekomendasi |
Konkurensi dan chunking |
|
| Rentang: 1 hingga 99999. Default: None. | Saat memproses tabel besar atau menjalankan tugas berskala besar, aktifkan parameter ini secara eksplisit untuk mencapai konkurensi tinggi. |
| Jika informasi CMF tidak tersedia, sistem melakukan chunking tugas berdasarkan ukuran tabel input dalam MB. | Rentang: ≥ 1. Default: 256 MB. | Pertahankan nilai default. | |
Resource dan memori |
| Mengalokasikan memori dalam MB ke satu worker untuk tahap Mapper, Reducer, dan Joiner, masing-masing. | Rentang: 1024 MB hingga 12288 MB. Default: 1024 MB. | Tingkatkan nilai ini jika Anda memproses volume data besar, menghadapi hot spot data, atau mengalami error kehabisan memori (OOM) akibat join kompleks. |
| Menetapkan secara manual jumlah instans konkuren untuk tahap Reduce dan Join. | Maksimum: 10000. Default: Dihitung secara dinamis oleh sistem. | Jika suatu pekerjaan melibatkan shuffle berskala besar, seperti GROUP BY atau | |
Shuffle dan keamanan output |
&
| Mengaktifkan backup untuk data antara yang dihasilkan oleh Mapper dan menetapkan jumlah replika. | Untuk pekerjaan berdurasi panjang dengan shuffle berskala besar, atur jumlah replika menjadi 2:
Hal ini secara signifikan meningkatkan toleransi kesalahan dan stabilitas pembacaan data. | |
| Menetapkan ukuran total maksimum dalam MB untuk data shuffle antara yang dapat dihasilkan oleh satu pekerjaan. | Jika Anda mengalami error | ||
Stabilitas komputasi dan pemantauan |
&
| Kedua parameter ini harus digunakan bersama. Mereka mengaktifkan pemantauan heartbeat untuk penjadwal Fuxi tingkat dasar dan menetapkan periode timeout dalam detik. Hal ini mencegah sistem salah mengidentifikasi UDF berdurasi panjang sebagai tidak responsif dan menghentikannya. | Untuk mengubah | |
| Jumlah maksimum kali sistem secara otomatis mencoba ulang satu worker (instans) setelah gagal karena error sementara, seperti kerusakan mesin. | Default: 3. Maksimum yang direkomendasikan: 100. | Untuk mengatur nilai lebih tinggi dari default, hubungi tim dukungan teknis untuk menambahkan parameter ke daftar putih. | |
| Mengonfigurasi kebijakan reuse untuk worker tingkat dasar. Atur ke | Jika UDF memiliki risiko kebocoran memori atau polusi state, nonaktifkan reuse untuk memastikan setiap tugas berjalan di lingkungan yang bersih. Hal ini sedikit meningkatkan overhead startup tugas. | ||
Efisiensi eksekusi dan optimasi |
| Menetapkan ukuran batch dalam jumlah baris, yang merupakan unit dasar untuk pemrosesan data internal di MaxCompute. | 1024 | Nilai ini menyeimbangkan memori dan performa. Jika satu baris berisi data dalam jumlah besar dan menyebabkan error OOM, kurangi nilai ini. Jika komputasi sederhana, Anda dapat meningkatkan nilai ini untuk meningkatkan throughput. |
| Mengaktifkan mesin eksekusi vektorisasi untuk ekspresi. Ini dapat secara signifikan meningkatkan performa operasi komputasi-intensif. | Aktifkan parameter ini saat Anda menggunakan fungsi rand() atau melakukan banyak operasi aritmetika. | ||
&
| Gunakan kedua parameter ini bersama untuk menonaktifkan HashJoin. | Atur cbo.rule.filter.black ke "hj". Ini adalah opsi ahli. Jangan konfigurasi kecuali Anda benar-benar memahami dampaknya terhadap rencana eksekusi. | ||
| Membaca informasi CMF secara konkuren selama tahap pemisahan tugas. | Aktifkan opsi ini jika tahap pemisahan pekerjaan memakan waktu terlalu lama. | ||
| Menetapkan ukuran memori untuk node Master pekerjaan. | Saat menjalankan pekerjaan shuffle yang melibatkan tabel sangat besar, tingkatkan nilai ini. Misalnya, atur ke 30000 MB. | ||
Keamanan UDF dan fungsi |
&
| Mengontrol periode timeout dalam detik untuk eksekusi satu batch data di UDF atau fungsi. | Rentang: 1 hingga 3600 detik. Default: 1800 detik. Mengatur ke 0 tidak berpengaruh. | |
| Membatasi panjang maksimum dalam MB log yang dioutput ke stdout oleh pernyataan print di Python UDF. | Maksimum: 100 MB. Default: 20 MB. | Untuk mengubah nilai ini, hubungi tim dukungan teknis untuk menambahkannya ke daftar putih. | |
Dependencies resource dan lingkungan |
| Menentukan lingkungan runtime untuk pekerjaan. Nilainya harus berupa nama custom image yang ada di Proyek MaxCompute penyewa saat ini. | ||
| Mengunci pekerjaan ke versi utama MaxCompute tertentu untuk memastikan stabilitas fitur dan perilaku. | Ini adalah opsi ahli. Jangan konfigurasi kecuali Anda memahami dampaknya. | ||
&
| Mengontrol ukuran grup baris file ORC dan versi file metadata CMF, masing-masing. | Ini adalah opsi ahli. Jangan konfigurasi kecuali Anda memahami mekanisme tingkat dasarnya. | ||
Parameter umum lainnya |
| Menentukan apakah akan mengizinkan pemindaian tabel penuh pada tabel partisi tanpa kondisi filter partisi. | Aktifkan dengan hati-hati untuk mencegah biaya tinggi tak terduga dan durasi proses yang panjang. | |
| Menentukan ukuran penyimpanan maksimum yang diizinkan dalam byte untuk satu bidang (kolom). | Default: 8388608 (8 MB). Maksimum: 268435456 (256 MB). | Tingkatkan nilai ini saat memproses bidang yang berisi konten sangat besar, seperti teks panjang, HTML, atau data Base64. | |
| Menetapkan waktu proses maksimum dalam jam untuk seluruh pekerjaan SQL. | Maksimum: 72 jam. Default: 24 jam. | ||
&
| Gunakan kedua parameter ini bersama untuk mengaktifkan fitur commit parsial. Bahkan jika pekerjaan gagal karena sebagian pemrosesan data gagal, hasil yang berhasil tetap di-commit. | Ini cocok untuk skenario ekstrak, transformasi, dan muat (ETL) di mana keberhasilan parsial dapat diterima. | ||
Penulisan tabel dan CMF (kombinasi tetap) | | Ini adalah kombinasi tetap flag. Kombinasi ini memastikan bahwa informasi statistik column-store (CMF) dihasilkan dengan cepat dan akurat saat Anda menulis data ke tabel partisi dinamis. Hal ini sangat penting agar pekerjaan downstream dapat melakukan pemisahan data secara tepat menggunakan odps.sql.split.dop. | ||
Opsi MaxFrame
Tabel berikut menjelaskan opsi bawaan utama untuk MaxFrame. Anda dapat mengonfigurasi opsi ini langsung menggunakan format options.xxx.
Nama parameter | Tujuan | Tipe | Nilai default |
| Menetapkan zona waktu lokal. Ini memengaruhi perilaku default fungsi tanggal dan waktu. | STR/None | None |
| Menetapkan periode retensi dalam jam untuk tautan LogView yang dihasilkan. | INT | 24 |
| Menentukan apakah akan mengaktifkan fitur optimasi dan akselerasi kueri cerdas bawaan MaxCompute. | BOOL | TRUE |
| Menentukan apakah akan secara otomatis menambahkan komentar ke pernyataan SQL yang dihasilkan untuk pelacakan. | BOOL | TRUE |
| Menentukan apakah akan secara otomatis mengonfigurasi gambar publik umum saat sistem mendeteksi bahwa kode menggunakan library dengan dependensi tambahan. | BOOL | TRUE |
| Mengontrol siklus hidup sesi.
Nilai | ||
| Menetapkan siklus hidup default dalam hari untuk tabel temporary yang dibuat menggunakan MaxFrame. | INT | 1 |
| Menentukan apakah akan secara otomatis membersihkan semua tabel temporary yang dibuat dalam sesi saat ini ketika sesi berakhir. | BOOL | FALSE |
| Menetapkan konfigurasi resource default untuk fungsi yang didaftarkan dengan dekorator | dict. Kunci dapat mencakup |
Penggunaan banyak flag khusus bergantung pada prasyarat tertentu, seperti permintaan daftar putih, manajemen custom image, dan ketergantungan pada informasi statistik CMF. Sebelum mengonfigurasi opsi lanjutan ini, hubungi tim dukungan teknis MaxCompute untuk memastikan konfigurasi Anda benar dan efektif.