All Products
Search
Document Center

MaxCompute:FAQ: Operasi DDL

Last Updated:Jul 11, 2026

Pertanyaan yang sering diajukan tentang operasi DDL pada tabel, partisi, dan kolom di MaxCompute.

Kategori

FAQ

Operasi tabel

Operasi partisi

Operasi kolom

Operasi lifecycle

Bagaimana data lama dalam tabel partisi dibersihkan ketika periode lifecycle diatur menjadi 3 hari?

Dukungan tabel virtual

MaxCompute tidak mendukung tabel virtual. Anda dapat membuat tabel DUAL secara manual.

Dukungan indeks

Tidak. Tabel MaxCompute tidak memiliki indeks. Namun, fitur Hash Clustering berfungsi mirip dengan cluster index dalam database. Untuk informasi selengkapnya, lihat Operasi tabel.

Mengubah atribut Hash Clustering

  • Untuk menambahkan atribut Hash Clustering ke suatu tabel, jalankan perintah berikut: alter table table_name [clustered by (col_name [, col_name, ...]) [sorted by (col_name [asc | desc] [, col_name [asc | desc] ...])] into number_of_buckets buckets];.

  • Untuk menghapus atribut Hash Clustering dari suatu tabel, jalankan perintah berikut: alter table table_name not clustered;.

Mengonversi tabel non-partisi menjadi tabel partisi

Anda tidak dapat mengonversi tabel non-partisi menjadi tabel partisi atau menambahkan kolom kunci partisi ke tabel yang sudah ada. Buatlah tabel partisi baru. Untuk informasi selengkapnya, lihat Operasi tabel.

Memulihkan tabel yang dihapus

MaxCompute menyediakan backup dan pemulihan dengan periode retensi gratis default selama 24 jam, yang dapat Anda sesuaikan. Jika Anda tidak sengaja menghapus tabel, Anda dapat memulihkan datanya dalam periode tersebut. Untuk informasi selengkapnya tentang backup dan pemulihan, lihat backup and recovery.

Mengkueri tabel berdasarkan pemilik

Gunakan tampilan metadata TABLES dan filter berdasarkan bidang owner_name untuk menemukan tabel yang dibuat oleh pengguna tertentu. Untuk informasi selengkapnya tentang TABLES, lihat TABLES.

Memeriksa keberadaan tabel

Anda dapat menggunakan fungsi TABLE_EXISTS untuk memeriksa apakah tabel tertentu ada. Untuk informasi selengkapnya, lihat TABLE_EXISTS.

Mendapatkan semua nama tabel dalam suatu Proyek

Anda dapat menjalankan perintah show tables; di MaxCompute client atau menggunakan layanan metadata MaxCompute. Untuk informasi selengkapnya, lihat Operasi tabel atau Information Schema.

Menemukan semua tabel partisi dalam suatu Proyek

Anda dapat menjalankan perintah berikut di MaxCompute client untuk menemukan semua tabel partisi dalam Proyek Anda.

select table_name from information_schema.columns where is_partition_key = true group by table_name;

Memeriksa waktu akses terakhir suatu tabel

Di DataWorks, buka halaman data map, cari tabel Anda, lalu buka halaman detailnya. Di panel Technical Information, Anda dapat menemukan bidang-bidang berikut: Technical type, Last DDL change time, Last data modification time, Last access time, dan Compute engine information.

Memeriksa volume data suatu tabel

Volume data suatu tabel mengacu pada jumlah baris dan ruang fisik yang ditempatinya:

  • Untuk memeriksa ruang fisik seluruh tabel, jalankan perintah desc. Untuk memeriksa jumlah baris, jalankan Pernyataan SQL select count() as cnt from table_name;.查看物理空间

  • Untuk memeriksa ruang fisik partisi tertentu, jalankan perintah desc dengan klausa WHERE. Untuk memeriksa jumlah baris dalam partisi tersebut, jalankan Pernyataan SQL select count() as cnt from table_name where ...;.查看分区表

Memeriksa jumlah baris suatu tabel

Anda dapat menjalankan perintah select count(*) from table_name; di MaxCompute client untuk memeriksa jumlah baris dalam tabel partisi atau non-partisi.

Tabel tidak terlihat di DataWorks

Jika Anda membuat tabel menggunakan Pernyataan SQL alih-alih membuatnya di UI DataWorks, tabel tersebut mungkin tidak muncul selama dua hingga tiga jam.

Partisi dan kolom kunci partisi

Tabel di MaxCompute dapat dipartisi. Tabel partisi memiliki kolom kunci partisi, yang digunakan untuk membuat partisi.

Sebagai contoh, dalam partisi yang ditentukan sebagai ds=20150101, ds adalah kolom kunci partisi, dan ds=20150101 adalah partisi.

Jumlah partisi optimal

Satu tabel MaxCompute dapat memiliki maksimal 60.000 partisi dengan kapasitas tak terbatas per partisi. Namun, terlalu banyak partisi dapat menyulitkan statistik dan analisis data.

MaxCompute membatasi jumlah maksimum instans per Pekerjaan. Jumlah instans yang digunakan oleh suatu Pekerjaan bergantung pada volume data masukan dan jumlah partisi. Oleh karena itu, pilihlah strategi partisi yang sesuai dengan kebutuhan bisnis Anda.

Menambahkan partisi ke tabel tanpa kunci partisi

MaxCompute tidak mendukung penambahan atau modifikasi bidang kunci partisi pada tabel yang sudah ada. Anda dapat membuat tabel partisi baru dan menggunakan Pernyataan SQL partisi dinamis untuk mengimpor data dari tabel sumber ke tabel baru tersebut. Untuk informasi selengkapnya, lihat Insert or overwrite data into dynamic partitions (DYNAMIC PARTITION).

Memeriksa keberadaan partisi

Anda dapat menggunakan fungsi PARTITION_EXISTS untuk memeriksa apakah partisi tertentu ada. Untuk informasi selengkapnya, lihat PARTITION_EXISTS.

Memeriksa jumlah partisi

Anda dapat menggunakan tampilan PARTITIONS di Information Schema untuk mendapatkan nama partisi lalu menghitungnya.

Menambahkan atau menghapus kolom

MaxCompute mendukung penambahan dan penghapusan kolom. Penambahan kolom dengan tipe data kompleks dan penghapusan kolom tersedia untuk pratinjau undangan. Untuk mengajukan uji coba, lihat Apply for a trial of new features.

Menambahkan kolom

Jalankan perintah berikut untuk menambahkan kolom. Jika tabel sudah berisi data, kolom baru akan bernilai NULL untuk semua baris yang sudah ada.

alter table table_name add columns (col_name1 type1, col_name2 type2…);

Untuk informasi selengkapnya tentang sintaksis, lihat Add a column.

Mengatur kolom auto-increment

MaxCompute tidak mendukung kolom auto-increment. Untuk data dalam jumlah kecil, Anda dapat menggunakan fungsi ROW_NUMBER sebagai solusi alternatif.

Jumlah maksimum kolom per tabel

Satu tabel MaxCompute dapat memiliki maksimal 1.200 kolom. Jika tabel Anda melebihi batas ini, pertimbangkan solusi berikut:

  • Kurangi jumlah dimensi dalam data Anda menjadi 1.200 kolom atau kurang.

  • Ubah metode penyimpanan data, misalnya dengan menggunakan tipe data kompleks seperti array atau map untuk menggabungkan data terkait.

Menggunakan kata kunci sebagai nama kolom

Jika Anda menggunakan kata kunci untuk memberi nama tabel, kolom, atau partisi, Anda harus membungkus kata kunci tersebut dalam backtick (``). Jika tidak, akan terjadi error.

Mengubah tipe data kolom

Anda tidak dapat mengubah tipe data kolom yang sudah ada. Sebagai gantinya, buat tabel baru dengan tipe data yang diinginkan dan migrasikan datanya. Untuk informasi selengkapnya tentang tipe data, lihat Data type editions.

Pembersihan data untuk tabel partisi dengan lifecycle

Ketika suatu partisi dalam tabel yang telah dikonfigurasi lifecycle tidak dimodifikasi dalam periode yang ditentukan, MaxCompute secara otomatis mereklamasinya.

Jalankan perintah desc table_name partition(pt_spec); untuk memeriksa apakah partisi lama dimodifikasi dalam periode lifecycle. Jalankan perintah desc tablename; untuk melihat pengaturan lifecycle. MaxCompute mereklamasi partisi yang kedaluwarsa setiap hari pukul 17.00. Pembaruan status di Konsol DataWorks mungkin tertunda, biasanya hingga satu hari.