全部产品
Search
文档中心

MaxCompute:Batasan

更新时间:Jul 02, 2025

Sebelum menggunakan MaxCompute, pelajari batasan penggunaannya. Dokumen ini menjelaskan batasan terkait penggunaan MaxCompute.

Batasan pada sumber daya komputasi berlangganan

Secara default, Anda dapat membeli hingga 2.000 unit komputasi (CUs) sebagai sumber daya komputasi berlangganan MaxCompute. Jika membutuhkan lebih dari 2.000 CUs, gunakan akun Alibaba Cloud untuk mengisi ticket dan kirimkan tiket tersebut. Insinyur produk MaxCompute akan meninjau permohonan peningkatan kuota dalam tiga hari kerja. Hasil tinjauan akan diberitahukan melalui pesan teks.

Batasan pada sumber daya komputasi layanan MaxCompute bayar sesuai pemakaian

Tabel berikut menunjukkan jumlah maksimum CUs layanan MaxCompute bayar sesuai pemakaian yang dapat digunakan oleh satu pengguna di satu wilayah. Batasan ini mencegah situasi di mana satu pengguna menguasai terlalu banyak sumber daya kluster sehingga pengguna lain tidak dapat memulai pekerjaan.

Negara atau wilayah

Wilayah

Jumlah maksimum CUs layanan MaxCompute bayar sesuai pemakaian

Wilayah di Tiongkok

Tiongkok (Hangzhou), Tiongkok (Shanghai), Tiongkok (Beijing), Tiongkok (Zhangjiakou), Tiongkok (Ulanqab), Tiongkok (Shenzhen), Timur Tiongkok 2 Keuangan, Utara Tiongkok 2 Ali Gov, dan Selatan Tiongkok 1 Keuangan

2.000

Tiongkok (Chengdu) dan Tiongkok (Hong Kong)

500

Negara atau wilayah lainnya

Singapura, Malaysia (Kuala Lumpur), Indonesia (Jakarta), Jepang (Tokyo), Jerman (Frankfurt), AS (Silicon Valley), AS (Virginia), Inggris (London) dan UEA (Dubai)

500

Penting

Batasan atas mencerminkan jumlah maksimum CUs yang dapat diperoleh, bukan jumlah minimum yang dapat digunakan. Dalam beberapa kasus, lebih banyak CUs mungkin digunakan untuk mempercepat kueri.

Batasan slot Tunnel berlangganan

Secara default, Anda dapat membeli maksimal 500 slot untuk layanan Tunnel berlangganan di MaxCompute. Untuk membeli lebih dari 500 slot, ajukan tiket permohonan.

Batasan SQL

Tabel berikut menjelaskan batasan pengembangan pekerjaan SQL di MaxCompute.

Item

Nilai maksimum/Batasan

Kategori

Deskripsi

Panjang nama tabel

128 byte

Panjang

Nama tabel atau kolom hanya dapat berisi huruf, angka, dan garis bawah (_). Harus dimulai dengan huruf. Karakter khusus tidak didukung.

Panjang komentar

1.024 byte

Panjang

Komentar adalah string yang valid yang tidak boleh melebihi 1.024 byte panjangnya.

Definisi kolom dalam tabel

1.200

Jumlah

Tabel dapat berisi maksimal 1.200 definisi kolom.

Partisi dalam tabel

60.000

Jumlah

Tabel dapat berisi maksimal 60.000 partisi.

Tingkat partisi tabel

6

Jumlah

Tabel dapat berisi maksimal enam tingkat partisi.

Tampilan output

10.000 baris

Jumlah

Pernyataan SELECT dapat mengembalikan maksimal 10.000 baris.

Jumlah tabel tujuan untuk operasi INSERT

256

Jumlah

Pernyataan MULTI-INSERT memungkinkan Anda menyisipkan data ke maksimal 256 tabel secara bersamaan.

UNION ALL

256

Jumlah

Pernyataan UNION ALL memungkinkan Anda menggabungkan maksimal 256 tabel.

MAPJOIN

128

Jumlah

Petunjuk MAPJOIN memungkinkan Anda bergabung dengan maksimal 128 tabel kecil.

Memori MAPJOIN

512 MB

Jumlah

Ukuran memori untuk semua tabel kecil tidak boleh melebihi 512 MB saat Anda menentukan petunjuk MAPJOIN dalam pernyataan SQL.

ptinsubq(partisi dalam subquery)

1.000 baris

Jumlah

Pernyataan PT IN SUBQUERY dapat menghasilkan maksimal 1.000 baris.

Panjang pernyataan SQL

2 MB

Panjang

Pernyataan SQL tidak boleh melebihi 2 MB panjangnya. Batas ini cocok untuk skenario di mana Anda menggunakan SDK untuk mengeksekusi pernyataan SQL.

Panjang catatan kolom

8 MB

Jumlah

Panjang maksimum catatan kolom dalam tabel adalah 8 MB.

Parameter dalam klausa IN

1.024

Jumlah

Item ini menentukan jumlah maksimum parameter dalam klausa IN, seperti in (1,2,3....,1024). Jika jumlah parameter dalam klausa IN terlalu besar, kinerja kompilasi akan terpengaruh secara negatif. Kami sarankan Anda menggunakan maksimal 1.024 parameter, tetapi ini bukan batas atas tetap.

jobconf.json

1 MB

Panjang

Ukuran maksimum file jobconf.json adalah 1 MB. Jika sebuah tabel berisi sejumlah besar partisi, ukuran file jobconf.json mungkin melebihi 1 MB.

Tampilan

Tidak dapat ditulis

Operasi

Tampilan tidak dapat ditulis dan tidak mendukung pernyataan INSERT.

Tipe data dan posisi kolom

Tidak dapat diubah

Operasi

Tipe data dan posisi kolom tidak dapat diubah.

Fungsi yang ditentukan pengguna Java (UDF)

Tidak diizinkan menjadi abstract atau static

Operasi

UDF Java tidak boleh menjadi abstract atau static.

Partisi yang dapat di-query

10.000

Jumlah

Maksimal 10.000 partisi dapat di-query.

Rencana eksekusi SQL

1 MB

Panjang

Ukuran rencana eksekusi yang dihasilkan menggunakan pernyataan SQL MaxCompute tidak boleh melebihi 1 MB. Jika tidak, pesan kesalahan FAILED: ODPS-0010000:System internal error - The Size of Plan is too large akan dilaporkan.

Durasi eksekusi maksimum untuk satu pekerjaan

72 jam

Durasi eksekusi

Durasi eksekusi maksimum default untuk satu pekerjaan SQL adalah 24 jam. Anda dapat menggunakan pengaturan parameter berikut untuk menjalankan satu pekerjaan SQL hingga 72 jam. Pekerjaan SQL tidak dapat berjalan lebih dari 72 jam. Jika pekerjaan SQL berjalan selama 72 jam, pekerjaan tersebut akan dihentikan secara otomatis.

set odps.sql.job.max.time.hours=72;

Frekuensi pembuatan partisi tabel

120 kali setiap 15 detik

Batas frekuensi

Batas frekuensi untuk mengeksekusi operasi ALTER TABLE <table_name> ADD PARTITION <pt_spec> untuk membuat partisi tabel adalah 120 kali setiap 15 detik.

Untuk informasi lebih lanjut tentang SQL, lihat SQL.

Batasan MapReduce

Tabel berikut menjelaskan batasan pengembangan pekerjaan MapReduce di MaxCompute.

ItemRentang nilaiKlasifikasiItem konfigurasiNilai defaultDapat dikonfigurasiDeskripsi
Memori yang digunakan oleh instance[256 MB,12 GB]Memoriodps.stage.mapper(reducer).mem dan odps.stage.mapper(reducer).jvm.mem2.048 MB dan 1.024 MBYaMemori yang digunakan oleh satu instance map atau reduce. Memori terdiri dari dua bagian: memori framework, yaitu 2.048 MB secara default, dan memori heap Java Virtual Machine (JVM), yaitu 1.024 MB secara default.
Jumlah sumber daya256Jumlah-Tidak tersediaTidakSetiap pekerjaan dapat merujuk hingga 256 sumber daya. Setiap tabel atau arsip dianggap sebagai satu sumber daya.
Jumlah input dan output1.024 dan 256Jumlah-Tidak tersediaTidakJumlah input pekerjaan tidak boleh melebihi 1.024, dan jumlah output pekerjaan tidak boleh melebihi 256. Partisi tabel dianggap sebagai satu input. Jumlah tabel tidak boleh melebihi 64.
Jumlah counter64Jumlah-Tidak tersediaTidakJumlah counter kustom dalam pekerjaan tidak boleh melebihi 64. Nama grup counter dan nama counter tidak boleh mengandung tanda pagar (#). Total panjang kedua nama tersebut tidak boleh melebihi 100 karakter.
Jumlah instance map[1,100000]Jumlahodps.stage.mapper.numTidak tersediaYaJumlah instance map dalam pekerjaan dihitung oleh framework berdasarkan ukuran split. Jika tabel input tidak ditentukan, Anda dapat mengatur parameter odps.stage.mapper.num untuk menentukan jumlah instance map. Rentang nilainya adalah dari 1 hingga 100.000.
Jumlah instance reduce[0,2000]Jumlahodps.stage.reducer.numTidak tersediaYaSecara default, jumlah instance reduce dalam pekerjaan adalah 25% dari jumlah instance map. Anda dapat mengatur jumlahnya menjadi nilai yang berkisar antara 0 hingga 2.000. Instance reduce memproses jauh lebih banyak data daripada instance map, yang dapat mengakibatkan waktu pemrosesan lama pada tahap reduce. Sebuah pekerjaan dapat memiliki maksimal 2.000 instance reduce.
Jumlah percobaan ulang3Jumlah-Tidak tersediaTidakJumlah maksimum percobaan ulang yang diizinkan untuk instance map atau reduce adalah 3. Pengecualian yang tidak mengizinkan percobaan ulang dapat menyebabkan kegagalan pekerjaan.
Mode debug lokalMaksimal 100 instanceJumlah-Tidak tersediaTidak
Dalam mode debug lokal:
  • Jumlah instance map adalah 2 secara default dan tidak boleh melebihi 100.
  • Jumlah instance reduce adalah 1 secara default dan tidak boleh melebihi 100.
  • Jumlah catatan unduhan untuk satu input adalah 100 secara default dan tidak boleh melebihi 10.000.
Jumlah kali sebuah sumber daya dibaca berulang64Jumlah-Tidak tersediaTidakJumlah kali sebuah instance map atau reduce membaca sumber daya secara berulang tidak boleh melebihi 64.
Ukuran byte sumber daya2 GBPanjang-Tidak tersediaTidakTotal byte sumber daya yang dirujuk oleh pekerjaan tidak boleh melebihi 2 GB.
Ukuran splitLebih besar atau sama dengan 1Panjangodps.stage.mapper.split.size256 MBYaFramework menentukan jumlah instance map berdasarkan ukuran split.
Panjang string dalam kolom8 MBPanjang-Tidak tersediaTidakString dalam kolom tidak boleh melebihi 8 MB panjangnya.
Periode timeout pekerja[1,3600]Waktuodps.function.timeout600YaPeriode timeout pekerja map atau reduce ketika pekerja tidak membaca atau menulis data, atau berhenti mengirimkan heartbeat menggunakan context.progress(). Nilai defaultnya adalah 600 detik.
Tipe bidang yang didukung oleh tabel yang dirujuk oleh MapReduceBIGINT, DOUBLE, STRING, DATETIME, dan BOOLEANTipe data-Tidak tersediaTidakKetika tugas MapReduce merujuk ke tabel, kesalahan akan dikembalikan jika tabel memiliki tipe bidang yang tidak didukung.
Pembacaan data Object Storage Service (OSS)-Fitur-Tidak tersediaTidakMapReduce tidak dapat membaca data OSS.
Tipe data baru di MaxCompute V2.0-Fitur-Tidak tersediaTidakMapReduce tidak mendukung tipe data baru di MaxCompute V2.0.

Untuk informasi lebih lanjut tentang MapReduce, lihat MapReduce.

Batasan PyODPS

Sebelum menggunakan DataWorks untuk mengembangkan pekerjaan PyODPS di MaxCompute, perhatikan batasan-batasan berikut:

  • Setiap node PyODPS dapat memproses maksimal 50 MB data dan menggunakan maksimal 1 GB memori. Jika melebihi batas ini, DataWorks akan menghentikan node PyODPS. Hindari menulis kode pemrosesan data Python yang tidak perlu dalam pekerjaan PyODPS.

  • Efisiensi penulisan dan debugging kode di DataWorks rendah. Disarankan untuk menginstal lingkungan pengembangan terintegrasi (IDE) di mesin lokal untuk menulis kode.

  • Untuk mencegah tekanan berlebih pada gateway DataWorks, DataWorks membatasi penggunaan CPU dan memori. Jika sistem menampilkan "Got killed", penggunaan memori telah melebihi batas atas dan sistem menghentikan proses terkait. Hindari operasi data lokal. Namun, batasan penggunaan memori dan pemanfaatan CPU tidak berlaku untuk tugas SQL atau DataFrame, kecuali to_pandas, yang diinisiasi oleh PyODPS.

  • Fungsi mungkin dibatasi karena kurangnya paket seperti matplotlib:

    • Penggunaan fungsi plot DataFrame terpengaruh.

    • UDF DataFrame hanya dapat digunakan setelah UDF dikomit ke MaxCompute. Anda hanya dapat menggunakan pustaka Python murni dan NumPy untuk menjalankan UDF berdasarkan persyaratan sandbox Python. Pustaka pihak ketiga seperti pandas tidak didukung.

    • Anda dapat menggunakan pustaka NumPy dan pandas yang telah diinstal sebelumnya di DataWorks untuk menjalankan kode fungsi selain UDF. Paket pihak ketiga yang berisi kode biner tidak didukung.

  • Untuk alasan kompatibilitas, options.tunnel.use_instance_tunnel diatur ke False secara default di DataWorks. Untuk mengaktifkan InstanceTunnel secara global, atur parameter ini ke True.

  • Paket Python atexit tidak didukung. Gunakan struktur try-finally untuk mengimplementasikan fitur terkait.

Untuk informasi lebih lanjut tentang PyODPS, lihat PyODPS.

Batasan Graph

Sebelum mengembangkan pekerjaan Graph di MaxCompute, perhatikan batasan-batasan berikut:

  • Setiap pekerjaan dapat merujuk hingga 256 sumber daya. Setiap tabel atau arsip dihitung sebagai satu unit.

  • Total byte sumber daya yang dirujuk oleh pekerjaan tidak boleh melebihi 512 MB.

  • Jumlah input pekerjaan tidak boleh melebihi 1.024, dan jumlah output pekerjaan tidak boleh melebihi 256. Jumlah tabel input tidak boleh melebihi 64.

  • Label yang ditentukan untuk beberapa output tidak boleh null atau string kosong. Label tidak boleh melebihi 256 karakter dan hanya dapat berisi huruf, angka, garis bawah (_), tanda pagar (#), titik (.), dan tanda hubung (-).

  • Jumlah counter kustom dalam pekerjaan tidak boleh melebihi 64. Counter group name dan counter name tidak boleh mengandung tanda pagar (#). Total panjang kedua nama tersebut tidak boleh melebihi 100 karakter.

  • Jumlah pekerja untuk pekerjaan dihitung oleh framework. Jumlah maksimum pekerja adalah 1.000. Kesalahan akan dilaporkan jika jumlah pekerja melebihi nilai ini.

  • Seorang pekerja mengonsumsi 200 unit sumber daya CPU secara default. Rentang sumber daya yang dikonsumsi adalah 50 hingga 800.

  • Seorang pekerja mengonsumsi 4.096 MB memori secara default. Rentang memori yang dikonsumsi adalah 256 MB hingga 12 GB.

  • Seorang pekerja dapat membaca sumber daya berulang hingga 64 kali.

  • Nilai default split_size adalah 64 MB. Anda dapat mengonfigurasi parameter ini berdasarkan kebutuhan bisnis. Nilai split_size harus lebih besar dari 0 dan lebih kecil atau sama dengan hasil operasi 9223372036854775807>>20.

  • GraphLoader, Vertex, dan Aggregator di MaxCompute Graph dibatasi oleh sandbox Java saat dijalankan di kluster. Namun, program utama pekerjaan Graph tidak dibatasi oleh sandbox Java. Untuk informasi lebih lanjut, lihat Java Sandbox.

Untuk informasi lebih lanjut tentang Graph, lihat Graph.

Batasan lainnya

Tabel berikut menunjukkan jumlah maksimum pekerjaan bersamaan yang dapat dikirimkan di proyek MaxCompute di berbagai wilayah.

Region

Jumlah maksimum pekerjaan bersamaan dalam satu proyek MaxCompute

Tiongkok (Hangzhou), Tiongkok (Shanghai), Tiongkok (Beijing), Tiongkok (Zhangjiakou), Tiongkok (Ulanqab), Tiongkok (Shenzhen), dan Tiongkok (Chengdu)

2.500

Tiongkok (Hong Kong), Singapura, Malaysia (Kuala Lumpur), Indonesia (Jakarta), Jepang (Tokyo), Jerman (Frankfurt), AS (Silicon Valley), AS (Virginia), Inggris (London) dan UEA (Dubai)

1000

Jika Anda terus mengirimkan pekerjaan setelah mencapai batas atas jumlah pekerjaan bersamaan di proyek MaxCompute, pesan kesalahan akan muncul. Contoh pesan kesalahan: com.aliyun.odps.OdpsException: Request rejected by flow control. You have exceeded the limit for the number of tasks you can run concurrently in this project. Please try later.