全部产品
Search
文档中心

MaxCompute:Operasi tabel

更新时间:Jul 06, 2025

Dalam MaxCompute, tabel digunakan untuk menyimpan data. Saat mengembangkan, menganalisis, dan memelihara gudang data, Anda perlu memproses data tabel. Topik ini menjelaskan operasi umum pada tabel seperti pembuatan, penghapusan, serta cara melihat informasi terkait tabel.

Tabel berikut merangkum pernyataan umum yang digunakan dalam operasi tabel. Untuk detail lebih lanjut tentang operasi tabel, lihat Operasi Tabel.

Operasi

Deskripsi

Pengguna yang Diizinkan

Platform Operasi

Buat Tabel

Membuat tabel non-partisi atau tabel terpartisi.

Pengguna dengan izin CreateTable di proyek

Anda dapat melakukan operasi menggunakan platform berikut:

Ubah Pemilik Tabel

Mengubah pemilik tabel.

Pemilik proyek

Hapus Tabel

Menghapus tabel non-partisi atau tabel terpartisi.

Pengguna dengan izin Drop pada tabel

Lihat Informasi Tabel atau Tampilan

Menampilkan informasi tentang tampilan MaxCompute, tabel internal, atau tabel eksternal.

Pengguna dengan izin Describe untuk membaca metadata tabel

Lihat Informasi Partisi

Menampilkan informasi partisi dari tabel terpartisi.

Pengguna dengan izin Describe untuk membaca metadata tabel

Tampilkan Tabel dan Tampilan dalam Proyek

Menampilkan semua tabel dan tampilan, atau hanya yang memenuhi aturan tertentu, seperti ekspresi reguler, dalam proyek.

Pengguna dengan izin List pada objek dalam proyek

Tampilkan Partisi

Menampilkan semua partisi dari tabel.

Pengguna dengan izin List pada objek dalam proyek

Untuk informasi lebih lanjut tentang operasi pada partisi dan kolom, lihat Operasi Partisi.

Untuk informasi lebih lanjut tentang operasi siklus hidup tabel, lihat Operasi Manajemen Siklus Hidup.

Buat tabel

Membuat tabel non-partisi, tabel terpartisi, tabel eksternal, atau tabel terkluster.

  • Batasan

    • Tabel terpartisi dapat memiliki maksimal enam tingkat partisi. Sebagai contoh, jika sebuah tabel menggunakan kolom tanggal sebagai kolom kunci partisi, enam tingkat partisi tersebut adalah tahun/bulan/minggu/hari/jam/menit.

    • Secara default, sebuah tabel dapat memiliki maksimal 60.000 partisi. Anda dapat menyesuaikan jumlah maksimum partisi sesuai kebutuhan bisnis.

    Untuk informasi lebih lanjut tentang batasan tabel, lihat Batasan SQL MaxCompute.

  • Sintaksis

    -- Buat tabel.
     create [external] table [if not exists] <table_name>
     [primary key (<pk_col_name>, <pk_col_name2>),(<col_name> <data_type> [not null] [default <default_value>] [comment <col_comment>], ...)]
     [comment <table_comment>]
     [partitioned by (<col_name> <data_type> [comment <col_comment>], ...)]
    
    -- Konfigurasikan properti shuffle dan sort dari tabel terkluster yang ingin dibuat.
     [clustered by | range clustered by (<col_name> [, <col_name>, ...]) [sorted by (<col_name> [asc | desc] [, <col_name> [asc | desc] ...])] into <number_of_buckets> buckets]
    
    -- Digunakan hanya untuk tabel eksternal.
     [stored by StorageHandler]
     -- Digunakan hanya untuk tabel eksternal.
     [with serdeproperties (options)]
     -- Digunakan hanya untuk tabel eksternal.
     [location <osslocation>]
    
    -- Setel tabel menjadi tabel transaksional. Anda kemudian dapat memodifikasi atau menghapus data tabel transaksional. Tabel transaksional memiliki batasan tertentu. Buat tabel transaksional berdasarkan kebutuhan bisnis Anda.
     [tblproperties("transactional"="true")]
    
    -- Setel tabel menjadi tabel Delta. Anda dapat melakukan operasi UPSERT untuk menulis data ke tabel dan melakukan kueri inkremental dan kueri time travel pada tabel berdasarkan kunci utama.
     [tblproperties ("transactional"="true" [, "write.bucket.num" = "N", "acid.data.retain.hours"="hours"...])] [lifecycle <days>]
    ;
    
    -- Buat tabel berdasarkan tabel yang ada dan replikasikan data dari tabel yang ada ke tabel baru. Properti partisi tidak direplikasi. Anda dapat menjalankan pernyataan CREATE TABLE untuk membuat tabel berdasarkan tabel eksternal atau tabel yang ada dari proyek eksternal yang digunakan untuk mengimplementasikan solusi data lakehouse.
    create table [if not exists] <table_name> [lifecycle <days>] as <select_statement>;
    
    -- Buat tabel berdasarkan tabel yang ada dan replikasikan skema tabel yang ada. Anda dapat menjalankan pernyataan CREATE TABLE untuk membuat tabel berdasarkan tabel eksternal atau tabel yang ada dari proyek eksternal yang digunakan untuk mengimplementasikan solusi data lakehouse.
    create table [if not exists] <table_name> like <existing_table_name> [lifecycle <days>];
  • Parameter

    • external: opsional. Parameter ini menentukan bahwa tabel yang ingin dibuat adalah tabel eksternal.

    • if not exists: opsional. Jika Anda membuat tabel dengan nama yang sudah ada tetapi tidak menentukan parameter if not exists, kesalahan akan dikembalikan. Jika Anda menentukan parameter if not exists, pesan sukses akan dikembalikan meskipun skema tabel yang ada berbeda dari skema tabel baru. Namun, tabel tidak akan dibuat dan metadata tabel yang ada tetap tidak berubah.

    • table_name: wajib. Nama tabel yang ingin dibuat. Nama harus memiliki panjang 1 hingga 128 byte, dapat berisi huruf, angka, dan garis bawah (_), dimulai dengan huruf, dan tidak boleh mengandung karakter khusus. Nama tidak peka huruf besar/kecil. Jika nilai parameter ini tidak memenuhi persyaratan, kesalahan akan dikembalikan.

    • primary key: opsional. Kunci utama tabel. Anda dapat menentukan satu atau beberapa kolom sebagai kunci utama. Ini menunjukkan bahwa kombinasi kolom-kolom tersebut harus unik dalam tabel. Kolom yang ditentukan sebagai kunci utama harus disetel ke not null dan tidak dapat dimodifikasi.

    • col_name: opsional. Nama kolom tabel. Nama harus memiliki panjang 1 hingga 128 byte, dapat berisi huruf, angka, dan garis bawah (_), dimulai dengan huruf, dan tidak boleh mengandung karakter khusus. Nama tidak peka huruf besar/kecil. Jika nilai parameter ini tidak memenuhi persyaratan, kesalahan akan dikembalikan.

    • col_comment: opsional. Komentar kolom. Komentar harus berupa string valid dengan panjang 1 hingga 1.024 byte. Jika nilai parameter ini tidak memenuhi persyaratan, kesalahan akan dikembalikan.

    • data_type: opsional. Tipe data kolom. Tipe data yang didukung meliputi BIGINT, DOUBLE, BOOLEAN, DATETIME, DECIMAL, dan STRING. Untuk informasi lebih lanjut tentang tipe data, lihat Edisi Tipe Data.

    • not null: opsional. Jika Anda mengonfigurasi parameter ini untuk kolom, nilai kolom tersebut tidak boleh NULL. Untuk informasi lebih lanjut tentang cara memodifikasi parameter ini, lihat Operasi Partisi.

    • default_value: opsional. Nilai default kolom yang ditentukan. Jika kolom tidak ditentukan dalam operasi INSERT, nilai default digunakan untuk kolom tersebut.

      Catatan

      Nilai default kolom yang ditentukan tidak boleh berupa fungsi, seperti getdate() atau now().

    • table_comment: opsional. Komentar tabel. Komentar harus berupa string valid dengan panjang 1 hingga 1.024 byte. Jika nilai parameter ini tidak memenuhi persyaratan, kesalahan akan dikembalikan.

    • lifecycle: opsional. Siklus hidup tabel. Nilainya harus bilangan bulat positif. Unit: hari.

      • Tabel non-partisi: Jika data dalam tabel non-partisi tidak berubah selama jumlah hari yang ditentukan oleh days setelah pembaruan data terakhir, MaxCompute mengeksekusi pernyataan, seperti DROP TABLE, untuk mereklaim tabel.

      • Tabel terpartisi: MaxCompute menentukan apakah akan mereklaim partisi berdasarkan nilai LastModifiedTime. Berbeda dengan tabel non-partisi, tabel terpartisi tidak dihapus meskipun semua partisinya telah direklaim. Anda dapat mengonfigurasi siklus hidup untuk tabel, tetapi tidak untuk partisi.

  • Parameter untuk Tabel Terpartisi

    partitioned by (<col_name> <data_type> [comment <col_comment>], ...: opsional. Bidang partisi dari tabel terpartisi.

    • col_name: nama kolom kunci partisi. Nama harus memiliki panjang 1 hingga 128 byte, dapat berisi huruf, angka, dan garis bawah (_), dimulai dengan huruf, dan tidak boleh mengandung karakter khusus. Nama tidak peka huruf besar/kecil. Jika nilai parameter ini tidak memenuhi persyaratan, kesalahan akan dikembalikan.

    • data_type: tipe data kolom kunci partisi. Dalam edisi tipe data MaxCompute V1.0, kolom kunci partisi harus bertipe STRING. Dalam edisi tipe data MaxCompute V2.0, kolom kunci partisi dapat bertipe TINYINT, SMALLINT, INT, BIGINT, VARCHAR, atau STRING. Untuk informasi lebih lanjut tentang tipe data, lihat Edisi Tipe Data. Jika Anda menggunakan bidang partisi untuk mempartisi tabel, pemindaian tabel penuh tidak diperlukan saat Anda menambahkan partisi, memperbarui data partisi, atau membaca data partisi. Ini meningkatkan efisiensi pemrosesan data.

    • col_comment: komentar kolom kunci partisi. Komentar harus berupa string valid dengan panjang 1 hingga 1.024 byte. Jika nilai parameter ini tidak memenuhi persyaratan, kesalahan akan dikembalikan.

    Catatan

    Nilai kolom kunci partisi tidak boleh mengandung karakter dua-byte, seperti karakter Cina. Nilai kolom kunci partisi harus dimulai dengan huruf dan dapat berisi huruf, angka, dan karakter khusus yang didukung. Panjangnya harus 1 hingga 255 byte. Karakter khusus yang didukung meliputi spasi, titik dua (:), garis bawah (_), tanda dolar ($), tanda pagar (#), titik (.), tanda seru (!), dan simbol at (@). Perilaku karakter lainnya tidak ditentukan, seperti karakter escape \t, \n, dan /.

  • Parameter untuk Tabel Terkluster

    clustered by | range clustered by (<col_name> [, <col_name>, ...]) [sorted by (<col_name> [asc | desc] [, <col_name> [asc | desc] ...])] into <number_of_buckets> buckets: opsional. Properti shuffle dan sort dari tabel terkluster yang ingin dibuat.

    Tabel terkluster diklasifikasikan menjadi tabel hash-clustered dan tabel range-clustered.

    Tabel hash-clustered

    • CLUSTERED BY: kunci hash. MaxCompute melakukan operasi hash pada kolom yang ditentukan dan mendistribusikan data ke setiap bucket berdasarkan nilai hash. Untuk mencegah skew data dan hot spot serta untuk lebih mengeksekusi pernyataan konkuren, kami sarankan Anda menentukan kolom yang memiliki rentang nilai besar dan jumlah nilai kunci duplikat kecil dalam CLUSTERED BY. Selain itu, untuk mengoptimalkan operasi JOIN, kami sarankan Anda memilih kunci join atau agregasi yang umum digunakan. Kunci join dan agregasi mirip dengan kunci utama dalam database konvensional.

    • SORTED BY: menentukan cara mengurutkan bidang dalam bucket. Untuk meningkatkan kinerja, kami sarankan Anda menjaga konfigurasi klausa SORTED BY konsisten dengan konfigurasi klausa CLUSTERED BY. Setelah Anda menentukan bidang dalam klausa SORTED BY, MaxCompute secara otomatis menghasilkan indeks, yang dapat digunakan untuk mempercepat kueri data.

    • number_of_buckets: jumlah bucket hash. Parameter ini wajib dan nilainya bervariasi berdasarkan jumlah data. Secara default, MaxCompute mendukung maksimal 1.111 reducer. Ini berarti MaxCompute mendukung maksimal 1.111 bucket hash. Anda dapat menjalankan perintah set odps.stage.reducer.num =<Number of concurrent reducers>; untuk meningkatkan jumlah maksimum bucket hash. Jumlah maksimum bucket hash tidak boleh melebihi 4.000. Jika jumlah bucket hash melebihi 4.000, kinerja komputasi mungkin terpengaruh.

      Untuk menjaga kinerja optimal, kami sarankan Anda memperhatikan aturan berikut saat menentukan jumlah bucket hash:

      • Jaga ukuran setiap bucket hash sekitar 500 MB. Sebagai contoh, jika ukuran partisi adalah 500 GB, kami sarakan Anda menentukan 1.000 bucket hash. Dengan cara ini, ukuran rata-rata setiap bucket hash adalah 500 MB. Jika tabel berisi sejumlah besar data, Anda dapat meningkatkan ukuran setiap bucket hash dari 500 MB menjadi ukuran dalam rentang 2 GB hingga 3 GB. Anda juga dapat menjalankan perintah set odps.stage.reducer.num =<Number of concurrent reducers>; untuk menyetel jumlah maksimum bucket hash ke nilai yang lebih besar dari 1111.

      • Untuk mengoptimalkan kinerja operasi JOIN, kami sarankan Anda tidak mengonfigurasi properti shuffle dan sort untuk tabel hash-clustered. Jumlah bucket hash dari tabel harus merupakan kelipatan dari jumlah bucket hash tabel lainnya. Sebagai contoh, satu tabel memiliki 256 bucket hash dan tabel lainnya memiliki 512 bucket hash. Kami sarankan Anda menyetel jumlah bucket hash ke 2n, seperti 512, 1024, 2048, atau 4096. Dengan cara ini, MaxCompute dapat secara otomatis membagi dan menggabungkan bucket hash. Untuk memastikan eksekusi lebih efisien, kami sarankan Anda tidak mengonfigurasi properti shuffle dan sort.

    Tabel range-clustered

    • RANGE CLUSTERED BY: kolom range-clustered. MaxCompute melakukan operasi bucket pada kolom yang ditentukan dan mendistribusikan data ke setiap bucket berdasarkan ID bucket.

    • SORTED BY: urutan bidang dalam bucket. Anda dapat menggunakan parameter ini dengan cara yang sama seperti Anda menggunakannya untuk tabel hash-clustered.

    • number_of_buckets: jumlah bucket hash. Dibandingkan dengan tabel hash-clustered, tabel range-clustered tidak memiliki batasan jumlah bucket saat data didistribusikan secara merata. Jika Anda tidak menentukan jumlah bucket dalam tabel range-clustered, MaxCompute secara otomatis menentukan jumlah optimal berdasarkan jumlah data.

    • Jika operasi JOIN dan AGGREGATE dilakukan pada tabel range-clustered dan kunci join atau kunci grup adalah kunci range-clustered atau awalan dari kunci range-clustered, Anda dapat mengelola flag untuk menonaktifkan pengacakan. Ini meningkatkan efisiensi eksekusi. Anda dapat menyetel odps.optimizer.enable.range.partial.repartitioning ke true atau false untuk mengontrol pengacakan. Secara default, parameter ini disetel ke false. Nilai default menunjukkan bahwa pengacakan dinonaktifkan.

      Catatan
      • Tabel terkluster membantu mengoptimalkan aspek berikut:

        • Pemangkasan bucket

        • Agregasi

        • Penyimpanan

      • Batasan pada tabel terkluster

        • Pernyataan INSERT INTO tidak didukung. Anda hanya dapat mengeksekusi pernyataan INSERT OVERWRITE untuk menambahkan data ke tabel terkluster.

        • Data yang diimpor menggunakan perintah Tunnel tidak disusun secara berurutan. Oleh karena itu, Anda tidak dapat mengimpor data ke tabel range-clustered menggunakan perintah Tunnel.

        • Fitur cadangan data dan pemulihan tidak didukung.

  • Parameter untuk Tabel Eksternal

    • stored by StorageHandler: opsional. StorageHandler yang ditentukan berdasarkan format data tabel eksternal.

    • with serdeproperties (options): opsional. Parameter yang terkait dengan otorisasi, kompresi, dan penguraian karakter tabel eksternal.

    • osslocation: opsional. Bucket Object Storage Service (OSS) tempat data tabel eksternal disimpan. Untuk informasi lebih lanjut, lihat Tabel Eksternal ORC.

  • Parameter untuk Tabel Transaksional dan Tabel Delta

    Parameter untuk tabel transaksional

    tblproperties("transactional"="true"): opsional. Setel tabel menjadi tabel transaksional. Anda dapat melakukan operasi UPDATE atau DELETE pada tabel transaksional untuk memperbarui atau menghapus data berdasarkan baris. Untuk informasi lebih lanjut, lihat UPDATE dan DELETE.

    Tabel transaksional memiliki batasan berikut:

    • MaxCompute hanya mengizinkan Anda menyetel tabel menjadi tabel transaksional saat Anda membuat tabel. Jika Anda mengeksekusi pernyataan ALTER TABLE untuk mengubah tabel yang ada menjadi tabel transaksional, kesalahan akan dikembalikan.

      alter table not_txn_tbl set tblproperties("transactional"="true");
      -- Kesalahan berikut akan dikembalikan: 
      FAILED: Catalog Service Failed, ErrorCode: 151, Error Message: Set transactional is not supported
    • Saat Anda membuat tabel terkluster atau tabel eksternal, Anda tidak dapat menyetelnya menjadi tabel transaksional.

    • Anda tidak dapat mengonversi antara tabel transaksional dan tabel internal MaxCompute, tabel eksternal, atau tabel terkluster.

    • File tabel transaksional tidak dapat digabungkan secara otomatis. Anda harus menggabungkan file tabel transaksional secara manual. Untuk informasi lebih lanjut, lihat bagian ALTER TABLE COMPACT dalam UPDATE dan DELETE.

    • Operasi MERGE PARTITION tidak didukung.

    • Batasan tertentu diberlakukan pada akses ke tabel transaksional dari pekerjaan sistem lain. Sebagai contoh, jika pekerjaan Anda adalah pekerjaan Graph, Anda tidak dapat menggunakan pekerjaan tersebut untuk membaca data dari atau menulis data ke tabel transaksional. Jika pekerjaan Anda adalah pekerjaan Spark atau pekerjaan Platform untuk AI (PAI), Anda dapat menggunakan pekerjaan tersebut hanya untuk membaca data dari tabel transaksional dan Anda tidak dapat menggunakan pekerjaan tersebut untuk menulis data ke tabel transaksional.

    • Sebelum Anda mengeksekusi pernyataan UPDATE, DELETE, atau INSERT OVERWRITE pada data penting dalam tabel transaksional, Anda harus mengeksekusi pernyataan SELECT dan INSERT untuk mencadangkan data ke tabel lain.

    Parameter untuk tabel Delta

    Tabel Delta mendukung kemampuan seperti pembacaan dan penulisan mendekati waktu nyata, pembacaan dan penulisan inkremental, penyimpanan inkremental, dan pembaruan waktu nyata. Hanya tabel Delta yang memiliki kunci utama yang didukung.

    • kunci utama:

      Parameter ini wajib saat Anda membuat tabel Delta. Anda dapat menentukan beberapa kolom sebagai kunci utama. Anda harus mematuhi sintaksis SQL standar untuk kunci utama. Kolom yang ditentukan sebagai kunci utama harus disetel ke not null dan tidak dapat dimodifikasi. Setelah Anda menentukan kunci utama untuk tabel Delta, data duplikat dihapus dari tabel berdasarkan kunci utama. Batasan unik untuk kolom kunci utama valid dalam partisi tunggal atau dalam tabel non-partisi.

    • tblproperties ("transactional"="true" [, "write.bucket.num" = "N", "acid.data.retain.hours"="hours"...])]

      • transactional: Parameter ini wajib saat Anda membuat tabel Delta. Anda harus menyetel parameter ini ke true. Nilai true menunjukkan bahwa tabel mematuhi karakteristik transaksi atomicity, consistency, isolation, durability (ACID) tabel MaxCompute dan model Multi Version Concurrency Control (MVCC) digunakan untuk mendukung isolasi snapshot.

      • write.bucket.num: opsional. Nilai default: 16. Nilai valid: (0,4096]. Parameter ini menunjukkan jumlah bucket dalam partisi tabel terpartisi atau dalam tabel non-partisi. Parameter ini juga menentukan jumlah node konkuren yang digunakan untuk menulis data. Anda dapat mengubah nilai parameter ini untuk tabel terpartisi. Jika partisi baru ditambahkan ke tabel terpartisi, konfigurasi parameter ini berlaku secara default pada partisi baru. Anda tidak dapat mengubah nilai parameter ini untuk tabel non-partisi. Perhatikan poin-poin berikut:

        • Jika data ditulis menggunakan tunnel MaxCompute, nilai parameter ini menentukan jumlah node konkuren yang digunakan untuk menulis data. Pengaturan parameter ini memengaruhi lalu lintas impor dan juga tunduk pada jumlah maksimum node konkuren dalam tunnel.

        • Jika data ditulis menggunakan pernyataan SQL, nilai parameter ini menentukan konkurensi reducer yang digunakan untuk menulis data. Pengaturan ini tunduk pada jumlah maksimum node reducer konkuren.

        • Kami sarankan Anda menulis sekitar 500 MB data ke setiap bucket. Sebagai contoh, jika ukuran partisi sekitar 500 GB, kami sarankan Anda menentukan 1.000 bucket. Dengan cara ini, ukuran rata-rata setiap bucket adalah 500 MB. Jika tabel berisi sejumlah besar data, Anda dapat meningkatkan ukuran setiap bucket dari 500 MB menjadi ukuran dalam rentang 2 GB hingga 3 GB.

      • acid.data.retain.hours: opsional. Nilai default: 72. Nilai valid: [0,168]. Rentang waktu selama status data historis dapat dikueri menggunakan fitur time travel. Unit: jam.

        • Jika Anda menyetel parameter ini ke 0, status data historis tidak dipertahankan, dan time travel tidak didukung.

        • Jika status data historis dipertahankan selama periode waktu yang tidak dalam rentang yang ditentukan oleh parameter ini, data dapat dihapus. Anda dapat menggunakan metode compact untuk mereklaim ruang yang ditempati oleh data.

        • Jika Anda melakukan kueri time travel pada data yang dihasilkan lebih awal dari rentang waktu yang ditentukan oleh parameter ini, kesalahan akan dikembalikan. Sebagai contoh, jika nilai parameter ini adalah 72 jam, dan kueri time travel dilakukan untuk menanyakan status data historis 72 jam yang lalu, kesalahan akan dikembalikan.

      • acid.incremental.query.out.of.time.range.enabled: opsional. Nilai default: false. Jika Anda menyetel parameter ini ke true, nilai properti endTimestamp yang ditentukan oleh kueri inkremental dapat berupa titik waktu yang lebih lambat dari waktu commit maksimum data dalam tabel. Jika nilai properti endTimestamp lebih besar dari waktu saat ini, data baru mungkin dimasukkan ke tabel Delta, dan Anda mungkin mendapatkan hasil berbeda untuk beberapa kueri. Anda dapat mengubah nilai parameter ini untuk tabel.

      • acid.write.precombine.field: opsional. Anda dapat menggunakan parameter ini untuk menentukan hanya satu nama kolom. Jika Anda menentukan nama kolom, sistem melakukan deduplikasi data berdasarkan kolom kunci utama dalam file yang berisi pernyataan SQL yang dikomit bersama dengan parameter ini. Ini memastikan keunikan dan konsistensi data.

        Catatan

        Jika ukuran data yang dikomit pada satu waktu melebihi 128 MB, beberapa file akan dihasilkan. Parameter ini tidak dapat digunakan untuk deduplikasi data dari beberapa file.

    • Pengaturan Parameter untuk Parameter Umum Lainnya dari Tabel Delta

      • siklus hidup: siklus hidup tabel. Unit: hari. Siklus hidup tabel harus lebih besar dari atau sama dengan nilai rumus berikut: acid.data.retain.hours/24. Nilai rumus ini menunjukkan jumlah hari selama status data historis dapat dikueri menggunakan fitur time travel. Saat Anda membuat tabel, MaxCompute memeriksa siklus hidup tabel yang Anda tentukan. Jika siklus hidup yang ditentukan tidak memenuhi persyaratan, kesalahan akan dikembalikan.

      • Fitur Lain yang Tidak Didukung: Tabel Delta tidak mendukung pernyataan RANGE CLUSTER BY dan CREATE TABLE AS dan tidak dapat digunakan sebagai tabel eksternal.

    • Batasan Lain:

      • Hanya MaxCompute SQL yang dapat langsung melakukan operasi pada tabel Delta.

      • Anda tidak dapat mengubah tabel biasa yang ada menjadi tabel Delta.

      • Anda tidak dapat mengubah skema kolom kunci utama tabel Delta.

  • Buat Tabel Berdasarkan Data atau Tabel yang Ada

    • Anda dapat mengeksekusi pernyataan create table [if not exists] <table_name> [lifecycle <days>] as <select_statement>; untuk membuat tabel dan mereplikasi data ke tabel tersebut.

      • Namun, properti partisi dan properti siklus hidup tabel sumber tidak direplikasi ke tabel yang dibuat. Kolom kunci partisi tabel sumber dianggap sebagai kolom biasa dalam tabel yang dibuat.

      • Anda dapat mengonfigurasi parameter siklus hidup untuk mereklaim tabel. Anda juga dapat mengeksekusi pernyataan ini untuk membuat tabel internal dan mereplikasi data tabel eksternal ke tabel internal.

    • Anda dapat mengeksekusi pernyataan create table [if not exists] <table_name> like <existing_table_name> [siklus hidup <hari>]; untuk membuat tabel yang memiliki skema yang sama dengan tabel sumber.

      • Namun, tabel yang dibuat menggunakan pernyataan ini tidak mereplikasi data tabel atau properti siklus hidup tabel sumber.

      • Anda dapat mengonfigurasi parameter siklus hidup untuk mereklaim tabel. Anda juga dapat mengeksekusi pernyataan ini untuk membuat tabel internal yang memiliki skema yang sama dengan tabel eksternal yang ada.

  • Contoh

    • Contoh 1: Buat tabel non-partisi bernama test1.

      create table test1 (key STRING);
    • Contoh 2: Buat tabel terpartisi bernama sale_detail.

      create table if not exists sale_detail(
       shop_name     STRING,
       customer_id   STRING,
       total_price   DOUBLE)
      partitioned by (sale_date STRING, region STRING); 
    • Contoh 3: Buat tabel bernama sale_detail_ctas1, replikasikan data dari tabel sale_detail ke tabel sale_detail_ctas1, dan kemudian konfigurasikan siklus hidup untuk tabel sale_detail_ctas1.

      SET odps.sql.allow.fullscan=true;
      create table sale_detail_ctas1 lifecycle 10 as select * from sale_detail;

      Anda dapat menjalankan perintah desc extended sale_detail_ctas1; untuk melihat detail tabel, seperti skema dan siklus hidup tabel.

      Tabel sale_detail adalah tabel terpartisi, tetapi tabel sale_detail_ctas1 yang dibuat menggunakan create table ... as select_statement ... tidak mereplikasi properti partisi. Kolom kunci partisi tabel sumber dianggap sebagai kolom biasa dalam tabel yang dibuat. Tabel sale_detail_ctas1 adalah tabel non-partisi yang berisi lima kolom.

    • Contoh 4: Buat tabel bernama sale_detail_ctas2 dan gunakan konstanta sebagai nilai kolom dalam klausa SELECT.

      SET odps.sql.allow.fullscan=true;
      -- Nama kolom ditentukan.
      create table sale_detail_ctas2
      as
      select shop_name, customer_id, total_price, '2013' as sale_date, 'China' as region
      from sale_detail;
      -- Nama kolom tidak ditentukan.
      create table sale_detail_ctas3
      as
      select shop_name, customer_id, total_price, '2013', 'China'
      from sale_detail;
      Catatan

      Jika Anda menggunakan konstanta sebagai nilai kolom dalam klausa SELECT, kami sarankan Anda menentukan nama kolom. Dalam contoh ini, nama kolom keempat dan kelima dalam tabel sale_detail_ctas3 berisi akhiran yang mirip dengan _c4 dan _c5.

    • Contoh 5: Buat tabel bernama sale_detail_like yang menggunakan skema yang sama dengan tabel sale_detail dan konfigurasikan siklus hidup untuk tabel sale_detail_like.

      create table sale_detail_like like sale_detail lifecycle 10;

      Anda dapat menjalankan perintah desc extended sale_detail_like; untuk melihat detail tabel, seperti skema dan siklus hidup tabel.

      Skema tabel sale_detail_like sama dengan tabel sale_detail. Kedua tabel memiliki properti yang sama, seperti nama kolom, komentar kolom, dan komentar tabel, kecuali siklus hidup. Namun, data dalam tabel sale_detail tidak direplikasi ke tabel sale_detail_like.

    • Contoh 6: Buat tabel bernama mc_oss_extable_orc_like yang menggunakan skema yang sama dengan tabel eksternal mc_oss_extable_orc.

      create table mc_oss_extable_orc_like like mc_oss_extable_orc;

      Anda dapat menjalankan perintah desc mc_oss_extable_orc_like; untuk melihat detail tabel, seperti skema tabel.

      +------------------------------------------------------------------------------------+
      | Owner: ALIYUN$****@***.aliyunid.com | Project: max_compute_7u************yoq              |
      | TableComment:                                                                      |
      +------------------------------------------------------------------------------------+
      | CreateTime:               2022-08-11 11:10:47                                      |
      | LastDDLTime:              2022-08-11 11:10:47                                      |
      | LastModifiedTime:         2022-08-11 11:10:47                                      |
      +------------------------------------------------------------------------------------+
      | InternalTable: YES      | Size: 0                                                  |
      +------------------------------------------------------------------------------------+
      | Native Columns:                                                                    |
      +------------------------------------------------------------------------------------+
      | Field           | Type       | Label | Comment                                     |
      +------------------------------------------------------------------------------------+
      | id              | string     |       |                                             |
      | name            | string     |       |                                             |
      +------------------------------------------------------------------------------------+
    • Contoh 7: Buat tabel bernama test_newtype yang menggunakan tipe data baru.

      set odps.sql.type.system.odps2=true;
      CREATE TABLE test_newtype (
          c1 TINYINT
          ,c2 SMALLINT
          ,c3 INT
          ,c4 BIGINT
          ,c5 FLOAT
          ,c6 DOUBLE
          ,c7 DECIMAL
          ,c8 BINARY
          ,c9 TIMESTAMP
          ,c10 ARRAY<MAP<BIGINT,BIGINT>>
          ,c11 MAP<STRING,ARRAY<BIGINT>>
          ,c12 STRUCT<s1:STRING,s2:BIGINT>
          ,c13 VARCHAR(20))
      LIFECYCLE 1
      ;
    • Contoh 8: Buat tabel hash-clustered bernama t1. Tabel ini merupakan tabel non-partisi.

      create table t1 (a STRING, b STRING, c BIGINT) clustered by (c) sorted by (c) into 1024 buckets; 
    • Contoh 9: Buat tabel hash-clustered bernama t2. Tabel ini adalah tabel terpartisi.

      create table t2 (a STRING, b STRING, c BIGINT) partitioned by (dt STRING) clustered by (c) sorted by (c) into 1024 buckets; 
    • Contoh 10: Buat tabel range-clustered bernama t3. Tabel ini adalah tabel non-partisi.

      create table t3 (a STRING, b STRING, c BIGINT) range clustered by (c) sorted by (c) into 1024 buckets;
    • Contoh 11: Buat tabel range-clustered bernama t4. Tabel ini adalah tabel terpartisi.

      create table t4 (a STRING, b STRING, c BIGINT) partitioned by (dt STRING) range clustered by (c) sorted by (c); 
    • Contoh 12: Buat tabel transaksional bernama t5. Tabel ini adalah tabel non-partisi.

      create table t5(id bigint) tblproperties("transactional"="true");
    • Contoh 13: Buat tabel transaksional bernama t6. Tabel ini adalah tabel terpartisi.

      create table if not exists t6(id bigint) partitioned by(ds string) tblproperties ("transactional"="true");
    • Contoh 14: Buat tabel non-partisi bernama test_default dan konfigurasikan nilai default untuk parameter.

      create table test_default
      (
      tinyint_name tinyint not NULL default 1Y,
      smallint_name SMALLINT not NULL DEFAULT 1S,
      int_name INT not NULL DEFAULT 1,
      bigint_name BIGINT not NULL DEFAULT 1,
      binary_name BINARY,
      float_name FLOAT,
      double_name DOUBLE not NULL DEFAULT 0.1,
      decimal_name DECIMAL(2, 1) not NULL DEFAULT 0.0BD,
      varchar_name VARCHAR(10),
      char_name CHAR(2),
      string_name STRING not NULL DEFAULT 'N',
      boolean_name BOOLEAN not NULL DEFAULT TRUE
      );
    • Contoh 15: Eksekusi pernyataan CREATE TABLE [if not exists] <table_name> [lifecycle <days>] as <select_statement>; untuk membuat tabel internal dan replikasikan data tabel terpartisi eksternal ke tabel internal. Properti partisi tidak direplikasi ke tabel internal.

      -- Kueri tabel eksternal proyek eksternal yang digunakan untuk mengimplementasikan solusi data lakehouse di MaxCompute.
      select * from hive_external2_1.myhive_0110;
      -- Hasil berikut dikembalikan:
      a    b    c
      101    1    20230110
      102    2    20230110
      103    3    20230110
      
      -- Eksekusi pernyataan CREATE TABLE AS untuk membuat tabel internal.
      create table from_exetbl_as_par as select * from hive_external2_1.myhive_0110_par;
      
      -- Kueri tabel internal.
      select * from from_exetbl_as_par;
      -- Semua data dalam tabel internal dikembalikan.
      a    b    c
      101    1    20230110
      102    2    20230110
      103    3    20230110
      
      
      -- Kueri skema tabel internal.
      desc from_exetbl_as_par;
      -- Hasil berikut dikembalikan:
      +------------------------------------------------------------------------------------+
      | Owner:                    ALIYUN$***********                                       |
      | Project:                  ***_*****_***                                            |
      | TableComment:                                                                      |
      +------------------------------------------------------------------------------------+
      | CreateTime:               2023-01-10 15:16:33                                      |
      | LastDDLTime:              2023-01-10 15:16:33                                      |
      | LastModifiedTime:         2023-01-10 15:16:33                                      |
      +------------------------------------------------------------------------------------+
      | InternalTable: YES      | Size: 919                                                |
      +------------------------------------------------------------------------------------+
      | Native Columns:                                                                    |
      +------------------------------------------------------------------------------------+
      | Field           | Type       | Label | Comment                                     |
      +------------------------------------------------------------------------------------+
      | a               | string     |       |                                             |
      | b               | string     |       |                                             |
      | c               | string     |       |                                             |
      +------------------------------------------------------------------------------------+
    • Contoh 16: Eksekusi pernyataan CREATE TABLE [if not exists] <table_name> like <existing_table_name> [lifecycle <days>]; untuk membuat tabel internal dan replikasikan skema tabel terpartisi eksternal ke tabel internal. Properti partisi direplikasi ke tabel internal.

      -- Kueri tabel eksternal proyek eksternal yang digunakan untuk mengimplementasikan solusi data lakehouse di MaxCompute.
      select * from hive_external2_1.myhive_0110_par;
      -- Hasil berikut dikembalikan:
      a    b    c
      101    1    20230110
      102    2    20230110
      103    3    20230110
      
      -- Eksekusi pernyataan CREATE TABLE LIKE untuk membuat tabel internal.
      create table from_exetbl_like like hive_external2_1.myhive_0110_par;
      
      -- Kueri tabel internal.
      select * from from_exetbl_like;
      -- Hanya skema tabel internal yang dikembalikan.
      a    b    c
      
      -- Kueri skema tabel internal.
      desc from_exetbl_like;
      -- Hasil berikut dikembalikan:
      +------------------------------------------------------------------------------------+
      | Owner:                    ALIYUN$************                                      |
      | Project:                  ***_*****_***                                            |
      | TableComment:                                                                      |
      +------------------------------------------------------------------------------------+
      | CreateTime:               2023-01-10 15:09:47                                      |
      | LastDDLTime:              2023-01-10 15:09:47                                      |
      | LastModifiedTime:         2023-01-10 15:09:47                                      |
      +------------------------------------------------------------------------------------+
      | InternalTable: YES      | Size: 0                                                  |
      +------------------------------------------------------------------------------------+
      | Native Columns:                                                                    |
      +------------------------------------------------------------------------------------+
      | Field           | Type       | Label | Comment                                     |
      +------------------------------------------------------------------------------------+
      | a               | string     |       |                                             |
      | b               | string     |       |                                             |
      +------------------------------------------------------------------------------------+
      | Partition Columns:                                                                 |
      +------------------------------------------------------------------------------------+
      | c               | string     |                                                     |
      +------------------------------------------------------------------------------------+
    • Contoh 17: Buat tabel Delta.

      create table mf_tt (pk bigint not null primary key,
                          val bigint)
                          tblproperties ("transactional"="true");
    • Contoh 18: Buat tabel Delta dan konfigurasikan properti tabel utama.

      create table mf_tt2 (pk bigint not null,
                        pk2 bigint not null,
                        val bigint,
                        val2 bigint, primary key (pk, pk2)
                       )
                   tblproperties ("transactional"="true",
                                  "write.bucket.num" = "64",
                                  "acid.data.retain.hours"="120")
                   lifecycle 7;

Ubah pemilik tabel

Mengubah pemilik tabel.

Penting

Hanya pemilik proyek atau pengguna dengan peran Super_Administrator yang dapat mengeksekusi perintah untuk memodifikasi pemilik tabel.

  • Sintaksis

    alter table <table_name> changeowner to <new_owner>;
  • Parameter

    • table_name: wajib. Nama tabel yang pemiliknya ingin Anda ubah.

    • new_owner: wajib. Pemilik baru tabel. Jika Anda ingin mengubah pemilik tabel menjadi pengguna RAM, Anda harus menyetel parameter ini ke nilai dalam format RAM$<UID>:<ram_name>. UID menunjukkan ID akun Alibaba Cloud dan ram_name menunjukkan nama tampilan pengguna RAM.

      Catatan

      Jika Anda ingin mengubah pemilik tabel menjadi pengguna RAM, pastikan bahwa pengguna RAM telah ditambahkan ke proyek tempat tabel tersebut berada.

  • Contoh

    • Ubah pemilik tabel test1 menjadi ALIYUN$xxx@aliyun.com.

      alter table test1 changeowner to 'ALIYUN$xxx@aliyun.com';
    • Ubah pemilik tabel test1 menjadi pengguna RAM bernama ram_test.

      alter table test1 changeowner to 'RAM$13xxxxxxxxxxx:ram_test';

Hapus tabel

Menghapus tabel non-partisi atau tabel terpartisi.

  • Perhatian:

    • Sebelum Anda menghapus tabel, konfirmasikan bahwa tabel tersebut dapat dihapus. Lakukan dengan hati-hati. Jika Anda secara tidak sengaja menghapus tabel, Anda dapat memulihkan tabel jika fitur cadangan dan pemulihan diaktifkan untuk proyek dan tabel dihapus dalam periode retensi data cadangan yang ditentukan untuk proyek. Untuk informasi lebih lanjut tentang fitur cadangan dan pemulihan, lihat Cadangan.

    • Setelah Anda menghapus tabel, volume data yang disimpan dalam proyek MaxCompute berkurang.

  • Sintaksis

    drop table [if exists] <table_name>; 
  • Parameter

    • if exists: opsional. Jika Anda tidak menentukan parameter if exists dan tabel yang ingin Anda hapus tidak ada, kesalahan akan dikembalikan. Jika Anda menentukan parameter if exists, pesan sukses akan dikembalikan terlepas dari apakah tabel ada atau tidak.

    • table_name: wajib. Nama tabel yang ingin Anda hapus.

  • Contoh

    -- Hapus tabel sale_detail. Pesan sukses akan dikembalikan terlepas dari apakah tabel sale_detail ada atau tidak.
    drop table if exists sale_detail; 

Lihat informasi tentang tabel atau tampilan

Menampilkan informasi tentang tabel internal MaxCompute, tampilan, tabel eksternal, tabel terkluster, atau tabel transaksional. Untuk informasi lebih lanjut tentang cara melihat informasi tabel secara detail, lihat Sintaks SELECT.

  • Sintaksis

    -- Lihat informasi tentang tabel atau tampilan.
    desc <table_name|view_name> [partition (<pt_spec>)]; 
    -- Lihat informasi tentang tabel eksternal, tabel terkluster, atau tabel transaksional. Anda juga dapat menjalankan pernyataan ini untuk melihat informasi tambahan tentang tabel internal.
    desc extended <table_name>; 
  • Parameter

    • table_name: wajib. Nama tabel yang ingin Anda lihat.

    • view_name: wajib. Nama tampilan yang informasinya ingin Anda lihat.

    • pt_spec: opsional. Partisi dalam tabel terpartisi yang ingin Anda lihat. Nilai parameter ini dalam format (partition_col1 = partition_col_value1, partition_col2 = partition_col_value2, ...).

    • extended: Parameter ini diperlukan jika tabel adalah tabel eksternal, tabel terkluster, atau tabel transaksional. Parameter ini digunakan untuk menanyakan informasi tambahan tentang tabel. Anda juga dapat menggunakan parameter ini untuk melihat informasi tambahan tentang tabel internal, seperti apakah kolom tabel internal dapat berisi nilai NULL.

  • Contoh

    • Contoh 1: Lihat informasi tentang tabel test1.

      desc test1;

      Hasil berikut dikembalikan:

      +------------------------------------------------------------------------------------+
      | Owner: ALIYUN$maoXXX@alibaba-inc.com | Project: $project_name                      |
      | TableComment:                                                                      |
      +------------------------------------------------------------------------------------+
      | CreateTime:               2020-11-16 17:47:48                                      |
      | LastDDLTime:              2020-11-16 17:47:48                                      |
      | LastModifiedTime:         2020-11-16 17:47:48                                      |
      +------------------------------------------------------------------------------------+
      | InternalTable: YES      | Size: 0                                                  |
      +------------------------------------------------------------------------------------+
      | Native Columns:                                                                    |
      +------------------------------------------------------------------------------------+
      | Field           | Type       | Label | Comment                                     |
      +------------------------------------------------------------------------------------+
      | key             | string     |       |                                             |
      +------------------------------------------------------------------------------------+
    • Contoh 2: Lihat informasi tentang tabel sale_detail.

      desc sale_detail;

      Hasil berikut dikembalikan:

      +--------------------------------------------------------------------+
      | Owner: ALIYUN$maoXXX@alibaba-inc.com | Project: $project_name      |
      | TableComment:                                                      |
      +--------------------------------------------------------------------+
      | CreateTime:               2017-06-28 15:05:17                      |
      | LastDDLTime:              2017-06-28 15:05:17                      |
      | LastModifiedTime:         2017-06-28 15:05:17                      |
      +--------------------------------------------------------------------+
      | InternalTable: YES      | Size: 0                                  |
      +--------------------------------------------------------------------+
      | Native Columns:                                                    |
      +--------------------------------------------------------------------+
      | Field           | Type       | Label | Comment                     |
      +--------------------------------------------------------------------+
      | shop_name       | string     |       |                             |
      | customer_id     | string     |       |                             |
      | total_price     | double     |       |                             |
      +--------------------------------------------------------------------+
      | Partition Columns:                                                 |    
      +--------------------------------------------------------------------+
      | sale_date       | string     |                                     |
      | region          | string     |                                     |
      +--------------------------------------------------------------------+
    • Contoh 3: Lihat informasi detail tentang tabel sale_detail_ctas1.

      desc extended sale_detail_ctas1;

      Hasil berikut dikembalikan:

      +------------------------------------------------------------------------------------+
      | Owner: ALIYUN$maoXXX@alibaba-inc.com | Project: $project_name                      |
      | TableComment:                                                                      |
      +------------------------------------------------------------------------------------+
      | CreateTime:               2021-07-07 15:29:53                                      |
      | LastDDLTime:              2021-07-07 15:29:53                                      |
      | LastModifiedTime:         2021-07-07 15:29:53                                      |
      | Lifecycle:                10                                                       |
      +------------------------------------------------------------------------------------+
      | InternalTable: YES      | Size: 0                                                  |
      +------------------------------------------------------------------------------------+
      | Native Columns:                                                                    |
      +------------------------------------------------------------------------------------+
      | Field    | Type   | Label | ExtendedLabel | Nullable | DefaultValue | Comment      |
      +------------------------------------------------------------------------------------+
      | shop_name | string |       |               | true     | NULL         |              |
      | customer_id | string |       |               | true     | NULL         |              |
      | total_price | double |       |               | true     | NULL         |              |
      | sale_date | string |       |               | true     | NULL         |              |
      | region   | string |       |               | true     | NULL         |              |
      +------------------------------------------------------------------------------------+
      | Extended Info:                                                                     |
      +------------------------------------------------------------------------------------+
      | TableID:                  98cb8a38733c49eabed4735173818147                         |
      | IsArchived:               false                                                    |
      | PhysicalSize:             0                                                        |
      | FileNum:                  0                                                        |
      | StoredAs:                 AliOrc                                                   |
      | CompressionStrategy:      normal                                                   |
      +------------------------------------------------------------------------------------+

      Kolom sale_date dan region dianggap sebagai kolom biasa. Mereka bukan kolom kunci partisi.

    • Contoh 4: Lihat informasi tentang tabel sale_detail_ctas2.

      desc sale_detail_ctas2;

      Hasil berikut dikembalikan:

      +--------------------------------------------------------------------+
      | Owner: ALIYUN$xxxxx@alibaba-inc.com | Project: $project_name       |
      | TableComment:                                                      |
      +--------------------------------------------------------------------+
      | CreateTime:               2017-06-28 15:42:17                      |
      | LastDDLTime:              2017-06-28 15:42:17                      |
      | LastModifiedTime:         2017-06-28 15:42:17                      |
      +--------------------------------------------------------------------+
      | InternalTable: YES      | Size: 0                                  |
      +--------------------------------------------------------------------+
      | Native Columns:                                                    |
      +--------------------------------------------------------------------+
      | Field           | Type       | Label | Comment                     |
      +--------------------------------------------------------------------+
      | shop_name       | string     |       |                             |
      | customer_id     | string     |       |                             |
      | total_price     | double     |       |                             |
      | sale_date       | string     |       |                             |
      | region          | string     |       |                             |
      +--------------------------------------------------------------------+
    • Contoh 5: Lihat detail tentang tabel sale_detail_like.

      desc extended sale_detail_like;

      Hasil berikut dikembalikan:

      +------------------------------------------------------------------------------------+
      | Owner: ALIYUN$xxxxx@alibaba-inc.com | Project: $project_name                       |
      | TableComment:                                                                      |
      +------------------------------------------------------------------------------------+
      | CreateTime:               2021-07-07 15:40:38                                      |
      | LastDDLTime:              2021-07-07 15:40:38                                      |
      | LastModifiedTime:         2021-07-07 15:40:38                                      |
      | Lifecycle:                10                                                       |
      +------------------------------------------------------------------------------------+
      | InternalTable: YES      | Size: 0                                                  |
      +------------------------------------------------------------------------------------+
      | Native Columns:                                                                    |
      +------------------------------------------------------------------------------------+
      | Field    | Type   | Label | ExtendedLabel | Nullable | DefaultValue | Comment      |
      +------------------------------------------------------------------------------------+
      | shop_name | string |       |               | true     | NULL         |              |
      | customer_id | string |       |               | true     | NULL         |              |
      | total_price | double |       |               | true     | NULL         |              |
      +------------------------------------------------------------------------------------+
      | Partition Columns:                                                                 |
      +------------------------------------------------------------------------------------+
      | sale_date       | string     |                                                     |
      | region          | string     |                                                     |
      +------------------------------------------------------------------------------------+
      | Extended Info:                                                                     |
      +------------------------------------------------------------------------------------+
      | TableID:                  61782ff7713f426e9d6f91d5deeac99a                         |
      | IsArchived:               false                                                    |
      | PhysicalSize:             0                                                        |
      | FileNum:                  0                                                        |
      | StoredAs:                 AliOrc                                                   |
      | CompressionStrategy:      normal                                                   |
      +------------------------------------------------------------------------------------+

      Selain konfigurasi siklus hidup, properti lainnya, seperti jenis bidang dan jenis partisi, dari tabel sale_detail_like sama dengan tabel sale_detail.

      Catatan

      Ukuran data dalam keluaran pernyataan DESC table_name mencakup ukuran data tempat sampah. Jika Anda ingin membersihkan tempat sampah, eksekusi pernyataan PURGE TABLE table_name. Kemudian, eksekusi pernyataan DESC table_name untuk melihat ukuran data yang tidak termasuk ukuran data di tempat sampah. Anda juga dapat mengeksekusi pernyataan SHOW RECYCLEBIN untuk melihat detail data di tempat sampah untuk proyek saat ini.

    • Contoh 6: Lihat informasi tentang tabel test_newtype.

      desc test_newtype;

      Hasil berikut dikembalikan:

      | Native Columns:                                                                    |
      +------------------------------------------------------------------------------------+
      | Field           | Type       | Label | Comment                                     |
      +------------------------------------------------------------------------------------+
      | c1              | tinyint    |       |                                             |
      | c2              | smallint   |       |                                             |
      | c3              | int        |       |                                             |
      | c4              | bigint     |       |                                             |
      | c5              | float      |       |                                             |
      | c6              | double     |       |                                             |
      | c7              | decimal    |       |                                             |
      | c8              | binary     |       |                                             |
      | c9              | timestamp  |       |                                             |
      | c10             | array<map<bigint,bigint>> |       |                              |
      | c11             | map<string,array<bigint>> |       |                              |
      | c12             | struct<s1:string,s2:bigint> |       |                            |
      | c13             | varchar(20) |       |                                            |
      +------------------------------------------------------------------------------------+
      
      OK
    • Contoh 7: Lihat informasi tentang tabel hash-clustered t1. Tabel ini adalah tabel non-partisi. Atribut pengelompokan ditampilkan di Extended Info.

      desc extended t1;

      Hasil berikut dikembalikan:

      +------------------------------------------------------------------------------------+
      | Owner: ALIYUN$xxxxx@alibaba-inc.com | Project: $project_name                       |
      | TableComment:                                                                      |
      +------------------------------------------------------------------------------------+
      | CreateTime:               2020-11-16 18:00:56                                      |
      | LastDDLTime:              2020-11-16 18:00:56                                      |
      | LastModifiedTime:         2020-11-16 18:00:56                                      |
      +------------------------------------------------------------------------------------+
      | InternalTable: YES      | Size: 0                                                  |
      +------------------------------------------------------------------------------------+
      | Native Columns:                                                                    |
      +------------------------------------------------------------------------------------+
      | Field    | Type   | Label | ExtendedLabel | Nullable | DefaultValue | Comment      |
      +------------------------------------------------------------------------------------+
      | a        | string |       |               | true     | NULL         |              |
      | b        | string |       |               | true     | NULL         |              |
      | c        | bigint |       |               | true     | NULL         |              |
      +------------------------------------------------------------------------------------+
      | Extended Info:                                                                     |
      +------------------------------------------------------------------------------------+
      | TableID:                  e6b06f705dc34a36a5b72e5af486cab7                         |
      | IsArchived:               false                                                    |
      | PhysicalSize:             0                                                        |
      | FileNum:                  0                                                        |
      | StoredAs:                 AliOrc                                                   |
      | CompressionStrategy:      normal                                                   |
      | ClusterType:              hash                                                     |
      | BucketNum:                1024                                                     |
      | ClusterColumns:           [c]                                                      |
      | SortColumns:              [c ASC]                                                  |
      +------------------------------------------------------------------------------------+
      
      OK
    • Contoh 8: Lihat informasi tentang tabel hash-clustered t2. Tabel ini adalah tabel terpartisi. Atribut pengelompokan ditampilkan di Extended Info.

      desc extended t2;

      Hasil berikut dikembalikan:

      +------------------------------------------------------------------------------------+
      | Owner: ALIYUN$xxxxx@alibaba-inc.com | Project: $project_name                       |
      | TableComment:                                                                      |
      +------------------------------------------------------------------------------------+
      | CreateTime: 2017-12-25 11:18:26                                                    |
      | LastDDLTime: 2017-12-25 11:18:26                                                   |
      | LastModifiedTime: 2017-12-25 11:18:26                                              |
      | Lifecycle: 2                                                                       |
      +------------------------------------------------------------------------------------+
      | InternalTable: YES | Size: 0                                                       |
      +------------------------------------------------------------------------------------+
      | Native Columns:                                                                    |
      +------------------------------------------------------------------------------------+
      | Field | Type   | Label | Comment                                                   |
      +------------------------------------------------------------------------------------+
      | a     | string |       |                                                           |
      | b     | string |       |                                                           |
      | c     | bigint |       |                                                           |
      +------------------------------------------------------------------------------------+
      | Partition Columns:                                                                 |
      +------------------------------------------------------------------------------------+
      | dt    | string |                                                                   |
      +------------------------------------------------------------------------------------+
      | Extended Info:                                                                     |
      +------------------------------------------------------------------------------------+
      | TableID: 91a3395d3ef64b4d9ee1d2852755                                              |
      | IsArchived: false                                                                  |
      | PhysicalSize: 0                                                                    |
      | FileNum: 0                                                                         |
      | ClusterType: hash                                                                  |
      | BucketNum: 1024                                                                    |
      | ClusterColumns: [c]                                                                |
      | SortColumns: [c ASC]                                                               |
      +------------------------------------------------------------------------------------+
      
      OK
    • Contoh 9: Lihat informasi tentang tabel range-clustered t3. Tabel ini adalah tabel non-partisi. Atribut pengelompokan ditampilkan di Extended Info.

      desc extended t3;

      Hasil berikut dikembalikan:

      +------------------------------------------------------------------------------------+
      | Owner: ALIYUN$xxxxx@alibaba-inc.com | Project: $project_name                       |
      | TableComment:                                                                      |
      +------------------------------------------------------------------------------------+
      | CreateTime:               2020-11-16 18:01:05                                      |
      | LastDDLTime:              2020-11-16 18:01:05                                      |
      | LastModifiedTime:         2020-11-16 18:01:05                                      |
      +------------------------------------------------------------------------------------+
      | InternalTable: YES      | Size: 0                                                  |
      +------------------------------------------------------------------------------------+
      | Native Columns:                                                                    |
      +------------------------------------------------------------------------------------+
      | Field    | Type   | Label | ExtendedLabel | Nullable | DefaultValue | Comment      |
      +------------------------------------------------------------------------------------+
      | a        | string |       |               | true     | NULL         |              |
      | b        | string |       |               | true     | NULL         |              |
      | c        | bigint |       |               | true     | NULL         |              |
      +------------------------------------------------------------------------------------+
      | Extended Info:                                                                     |
      +------------------------------------------------------------------------------------+
      | TableID:                  38d170aca2684f4baadbbe1931a6ae1f                         |
      | IsArchived:               false                                                    |
      | PhysicalSize:             0                                                        |
      | FileNum:                  0                                                        |
      | StoredAs:                 AliOrc                                                   |
      | CompressionStrategy:      normal                                                   |
      | ClusterType:              range                                                    |
      | BucketNum:                1024                                                     |
      | ClusterColumns:           [c]                                                      |
      | SortColumns:              [c ASC]                                                  |
      +------------------------------------------------------------------------------------+
      
      OK
    • Contoh 10: Lihat informasi tentang tabel range-clustered t4. Tabel ini adalah tabel terpartisi. Atribut pengelompokan ditampilkan di Extended Info.

      desc extended t4;

      Hasil berikut dikembalikan:

      +------------------------------------------------------------------------------------+
      | Owner: ALIYUN$xxxxx@alibaba-inc.com | Project: $project_name                       |
      | TableComment:                                                                      |
      +------------------------------------------------------------------------------------+
      | CreateTime:               2020-11-16 19:17:48                                      |
      | LastDDLTime:              2020-11-16 19:17:48                                      |
      | LastModifiedTime:         2020-11-16 19:17:48                                      |
      +------------------------------------------------------------------------------------+
      | InternalTable: YES      | Size: 0                                                  |
      +------------------------------------------------------------------------------------+
      | Native Columns:                                                                    |
      +------------------------------------------------------------------------------------+
      | Field    | Type   | Label | ExtendedLabel | Nullable | DefaultValue | Comment      |
      +------------------------------------------------------------------------------------+
      | a        | string |       |               | true     | NULL         |              |
      | b        | string |       |               | true     | NULL         |              |
      | c        | bigint |       |               | true     | NULL         |              |
      +------------------------------------------------------------------------------------+
      | Partition Columns:                                                                 |
      +------------------------------------------------------------------------------------+
      | dt              | string     |                                                     |
      +------------------------------------------------------------------------------------+
      | Extended Info:                                                                     |
      +------------------------------------------------------------------------------------+
      | TableID:                  6ebc3432e283449188c861427bcd6ee4                         |
      | IsArchived:               false                                                    |
      | PhysicalSize:             0                                                        |
      | FileNum:                  0                                                        |
      | StoredAs:                 AliOrc                                                   |
      | CompressionStrategy:      normal                                                   |
      | ClusterType:              range                                                    |
      | BucketNum:                0                                                        |
      | ClusterColumns:           [c]                                                      |
      | SortColumns:              [c ASC]                                                  |
      +------------------------------------------------------------------------------------+
      
      OK
    • Contoh 11: Periksa apakah tabel non-partisi t5 adalah tabel transaksional.

      Catatan

      Kami sarankan Anda menggunakan klien MaxCompute untuk memeriksa apakah tabel adalah tabel transaksional. Versi klien MaxCompute harus V0.35.4 atau lebih baru. Untuk informasi lebih lanjut tentang cara mengunduh dan menggunakan klien MaxCompute, lihat Klien MaxCompute. Alat lain mungkin belum diperbarui dan tidak menampilkan informasi transaksional.

      desc extended t5;

      Hasil berikut dikembalikan:

      +------------------------------------------------------------------------------------+
      | Owner: ALIYUN$xxxxx@aliyun.com | Project: $project_name                            |
      | TableComment:                                                                      |
      +------------------------------------------------------------------------------------+
      | CreateTime:               2021-02-18 10:56:27                                      |
      | LastDDLTime:              2021-02-18 10:56:27                                      |
      | LastModifiedTime:         2021-02-18 10:56:27                                      |
      +------------------------------------------------------------------------------------+
      | InternalTable: YES      | Size: 0                                                  |
      +------------------------------------------------------------------------------------+
      | Native Columns:                                                                    |
      +------------------------------------------------------------------------------------+
      | Field    | Type   | Label | ExtendedLabel | Nullable | DefaultValue | Comment      |
      +------------------------------------------------------------------------------------+
      | id       | bigint |       |               | true     | NULL         |              |
      +------------------------------------------------------------------------------------+
      | Extended Info:                                                                     |
      +------------------------------------------------------------------------------------+
      ...
      | Transactional:            true                                                     |
      +------------------------------------------------------------------------------------+
    • Contoh 12: Periksa apakah tabel terpartisi t6 adalah tabel transaksional. Contoh pernyataan:

      Catatan

      Kami sarankan Anda menggunakan klien MaxCompute untuk memeriksa apakah tabel adalah tabel transaksional. Versi klien MaxCompute harus V0.35.4 atau lebih baru. Untuk informasi lebih lanjut tentang cara mengunduh dan menggunakan klien MaxCompute, lihat Klien MaxCompute. Alat lain mungkin belum diperbarui dan tidak menampilkan informasi transaksional.

      desc extended t6;

      Hasil berikut dikembalikan:

      +------------------------------------------------------------------------------------+
      | Owner: ALIYUN$xxxxx@test.aliyunid.com | Project: $project_name                     |
      | TableComment:                                                                      |
      +------------------------------------------------------------------------------------+
      | CreateTime:               2021-02-18 15:34:54                                      |
      | LastDDLTime:              2021-02-18 15:34:54                                      |
      | LastModifiedTime:         2021-02-18 15:34:54                                      |
      +------------------------------------------------------------------------------------+
      | InternalTable: YES      | Size: 0                                                  |
      +------------------------------------------------------------------------------------+
      | Native Columns:                                                                    |
      +------------------------------------------------------------------------------------+
      | Field           | Type       | Label | Comment                                     |
      +------------------------------------------------------------------------------------+
      | id              | bigint     |       |                                             |
      +------------------------------------------------------------------------------------+
      | Partition Columns:                                                                 |
      +------------------------------------------------------------------------------------+
      | ds              | string     |                                                     |
      +------------------------------------------------------------------------------------+
      | Extended Info:                                                                     |
      +------------------------------------------------------------------------------------+
      ...
      | Transactional:            true                                                     |
      +------------------------------------------------------------------------------------+

Lihat informasi partisi

Menampilkan informasi partisi tentang tabel terpartisi.

  • Sintaksis

    desc <table_name> partition (<pt_spec>);
  • Parameter

    • table_name: wajib. Nama tabel terpartisi yang informasi partisinya ingin Anda lihat.

    • pt_spec: wajib. Informasi tentang partisi yang ingin Anda lihat. Nilai parameter ini dalam format partition_col1=col1_value1, partition_col2=col2_value1.... Jika sebuah tabel memiliki multi-level partisi, Anda harus menentukan nilai semua kolom kunci partisi.

  • Contoh

    -- Kueri informasi tentang tabel terpartisi sale_detail.
    desc sale_detail partition (sale_date='201310',region='beijing');

    Hasil berikut dikembalikan:

    +------------------------------------------------------------------------------------+
    | PartitionSize: 2109112                                                             |
    +------------------------------------------------------------------------------------+
    | CreateTime:               2015-10-10 08:48:48                                      |
    | LastDDLTime:              2015-10-10 08:48:48                                      |
    | LastModifiedTime:         2015-10-11 01:33:35                                      |
    +------------------------------------------------------------------------------------+
    OK

Tampilkan tabel dan tampilan dalam proyek

Menampilkan semua tabel dan tampilan atau tabel dan tampilan yang memenuhi aturan tertentu dalam proyek.

  • Sintaksis

    -- Tampilkan semua tabel dan tampilan dalam proyek.
    show tables;
    -- Tampilkan tabel atau tampilan yang namanya mengandung kata kunci chart dalam proyek.
    show tables like '<chart>';
  • Contoh

    -- Tampilkan tabel yang namanya mengandung kata kunci sale* dalam proyek. Asterisk (*) menunjukkan karakter apa saja.
    show tables like 'sale*';              

    Hasil berikut dikembalikan:

    ALIYUN$account_name:sale_detail
    ......
    -- ALIYUN adalah prompt sistem, yang menunjukkan bahwa tabel dibuat menggunakan akun Alibaba Cloud. Jika tabel dibuat oleh pengguna RAM, prompt sistem adalah RAM.

Tampilkan partisi

Menampilkan semua partisi dari tabel. Jika tabel tidak ada atau tabel adalah tabel non-partisi, kesalahan akan dikembalikan.

  • Sintaksis

    show partitions <table_name>; 
  • Parameter

    table_name: wajib. Nama tabel terpartisi yang informasi partisinya ingin Anda lihat.

  • Contoh

    -- Tampilkan semua partisi dari tabel sale_detail.
    show partitions sale_detail;

    Hasil berikut dikembalikan:

    sale_date=201310/region=beijing
    sale_date=201312/region=shenzhen
    sale_date=201312/region=xian
    sale_date=2014/region=shenzhen
    
    OK

Referensi

  • Untuk informasi lebih lanjut tentang cara melakukan operasi pada kolom dalam tabel MaxCompute, seperti menambahkan kolom, menghapus kolom, atau mengubah tipe data kolom, lihat Operasi Partisi.

  • Untuk informasi lebih lanjut tentang cara mengkloning data dari satu tabel ke tabel lain, lihat CLONE TABLE.

  • Untuk informasi lebih lanjut tentang cara menghapus atau memperbarui data baris tertentu dalam tabel transaksional, lihat UPDATE dan DELETE.