Tüm Ürünler
Search
Belge Merkezi

MaxCompute:SSS: DDL işlemleri

Son Güncelleme:Oct 04, 2026

MaxCompute tabloları, bölümler ve sütunlarla ilgili DDL işlemleri hakkında sıkça sorulan sorular.

Kategori

SSS

Tablo işlemleri

Bölüm işlemleri

Sütun işlemleri

Yaşam döngüsü işlemleri

3 günlük bir yaşam döngüsü ayarlandığında bölümlenmiş bir tablodaki eski veriler nasıl temizlenir?

Sanal tablo desteği

MaxCompute sanal tabloları desteklemez. Manuel olarak bir DUAL tablosu oluşturabilirsiniz.

Dizin desteği

Hayır. MaxCompute tablolarında dizin bulunmaz. Ancak Hash Clustering özelliği, bir veritabanındaki küme dizinine benzer şekilde çalışır. Daha fazla bilgi için bkz. Tablo işlemleri.

Hash Clustering niteliğini değiştirme

  • Bir tabloya Hash Clustering niteliği eklemek için aşağıdaki komutu çalıştırın: 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];.

  • Bir tablodan Hash Clustering niteliğini kaldırmak için aşağıdaki komutu çalıştırın: alter table table_name not clustered;.

Bölümlenmemiş tabloları bölümlenmiş tablolara dönüştürme

Bölümlenmemiş bir tabloyu bölümlenmiş bir tabloya dönüştüremez veya mevcut bir tabloya bölüm anahtar sütunları ekleyemezsiniz. Yeni bir bölümlenmiş tablo oluşturmanız gerekir. Daha fazla bilgi için bkz. Tablo işlemleri.

Silinen bir tabloyu geri yükleme

MaxCompute, varsayılan olarak 24 saatlik ücretsiz bir saklama süresiyle yedekleme ve kurtarma sağlar; bu süreyi özelleştirebilirsiniz. Bir tabloyu yanlışlıkla silerseniz bu süre içinde verilerini geri yükleyebilirsiniz. Yedekleme ve kurtarma hakkında daha fazla bilgi için bkz. yedekleme ve kurtarma.

Sahibe göre tabloları sorgulama

Belirli bir kullanıcı tarafından oluşturulan tabloları bulmak için TABLES metadata görünümünü kullanın ve owner_name alanına göre filtreleyin. TABLES hakkında daha fazla bilgi için bkz. TABLES.

Bir tablonun var olup olmadığını kontrol etme

Belirli bir tablonun var olup olmadığını kontrol etmek için TABLE_EXISTS işlevini kullanabilirsiniz. Daha fazla bilgi için bkz. TABLE_EXISTS.

Bir projedeki tüm tablo adlarını alma

Bir projedeki tüm tablo adlarını almak için MaxCompute istemcisinde show tables; komutunu çalıştırabilir veya MaxCompute'ın metadata hizmetini kullanabilirsiniz. Daha fazla bilgi için bkz. Tablo işlemleri veya Information Schema.

Bir projedeki tüm bölümlenmiş tabloları bulma

Projenizdeki tüm bölümlenmiş tabloları bulmak için MaxCompute istemcisinde aşağıdaki komutu çalıştırabilirsiniz.

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

Bir tablonun son erişim zamanını kontrol etme

DataWorks'te veri haritası sayfasına gidin, tablonuzu arayın ve ayrıntılar sayfasını açın. Technical Information panelinde şu alanları bulabilirsiniz: Technical type, Last DDL change time, Last data modification time, Last access time ve Compute engine information.

Bir tablonun veri hacmini kontrol etme

Bir tablonun veri hacmi, satır sayısını ve kapladığı fiziksel alanı ifade eder:

  • Tüm bir tablonun fiziksel alanını kontrol etmek için desc komutunu çalıştırın. Satır sayısını kontrol etmek için select count() as cnt from table_name; SQL ifadesini çalıştırın.查看物理空间

  • Belirli bir bölümün fiziksel alanını kontrol etmek için bir WHERE yan tümcesiyle desc komutunu çalıştırın. Bölümdeki satır sayısını kontrol etmek için select count() as cnt from table_name where ...; SQL ifadesini çalıştırın.查看分区表

Bir tablonun satır sayısını kontrol etme

Bölümlenmiş veya bölümlenmemiş bir tablodaki satır sayısını kontrol etmek için MaxCompute istemcisinde select count(*) from table_name; komutunu çalıştırabilirsiniz.

Tablonun DataWorks'te görünmemesi

Bir tabloyu DataWorks UI'de oluşturmak yerine bir SQL ifadesi kullanarak oluşturursanız tablo iki ila üç saat boyunca görünmeyebilir.

Bölümler ve bölüm anahtar sütunları

MaxCompute'daki tablolar bölümlenebilir. Bölümlenmiş bir tabloda, bölümler oluşturmak için kullandığınız bölüm anahtar sütunları bulunur.

Örneğin, ds=20150101 olarak belirtilen bir bölümde ds bir bölüm anahtar sütunudur ve ds=20150101 ise bir bölümdür.

Optimum bölüm sayısı

Bir MaxCompute tablosunda bölüm başına sınırsız kapasite ile en fazla 60.000 bölüm bulunabilir. Ancak çok fazla bölüm, veri istatistiklerini ve analizini karmaşıklaştırabilir.

MaxCompute, iş başına maksimum örnek sayısını sınırlar. Bir işin kullandığı örnek sayısı, girdi veri hacmine ve bölüm sayısına bağlıdır. Bu nedenle iş ihtiyaçlarınıza uygun bir bölümlendirme stratejisi seçmeniz gerekir.

Bölüm anahtarı olmayan bir tabloya bölüm ekleme

MaxCompute, mevcut bir tabloya bölüm anahtar alanları eklemeyi veya bunları değiştirmeyi desteklemez. Yeni bir bölümlenmiş tablo oluşturabilir ve kaynak tablodan yeni tabloya veri aktarmak için dinamik bölümlendirme SQL ifadesini kullanabilirsiniz. Daha fazla bilgi için bkz. Verileri dinamik bölümlere ekleme veya üzerine yazma (DYNAMIC PARTITION).

Bir bölümün var olup olmadığını kontrol etme

Belirli bir bölümün var olup olmadığını kontrol etmek için PARTITION_EXISTS işlevini kullanabilirsiniz. Daha fazla bilgi için bkz. PARTITION_EXISTS.

Bölüm sayısını kontrol etme

Bölüm adlarını almak ve ardından saymak için Information Schema'daki PARTITIONS görünümünü kullanabilirsiniz.

Sütun ekleme veya silme

MaxCompute sütun eklemeyi ve silmeyi destekler. Karmaşık veri türündeki sütunların eklenmesi ve sütunların silinmesi davetli ön izleme aşamasındadır. Deneme için başvurmak üzere bkz. Yeni özelliklerin denemesi için başvuru.

Sütun ekleme

Sütun eklemek için aşağıdaki komutu çalıştırın. Tablo zaten veri içeriyorsa yeni sütunlar mevcut tüm satırlar için NULL olur.

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

Sözdizimi hakkında daha fazla bilgi için bkz. Sütun ekleme.

Otomatik artan bir sütun ayarlama

MaxCompute otomatik artan sütunları desteklemez. Az miktarda veri için geçici çözüm olarak ROW_NUMBER işlevini kullanabilirsiniz.

Tablo başına maksimum sütun sayısı

Tek bir MaxCompute tablosunda en fazla 1.200 sütun bulunabilir. Tablonuz bu sınırı aşarsa aşağıdaki çözümleri göz önünde bulundurun:

  • Verinizdeki boyut sayısını 1.200 sütuna veya daha azına düşürün.

  • Veri depolama yöntemini değiştirin; örneğin, ilişkili verileri konsolide etmek için diziler veya eşlemeler gibi karmaşık veri türleri kullanın.

Anahtar sözcükleri sütun adı olarak kullanma

Bir tablo, sütun veya bölümü adlandırmak için bir anahtar sözcük kullanırsanız anahtar sözcüğü ters tırnak içine () almanız gerekir. Aksi takdirde hata oluşur.

Bir sütunun veri türünü değiştirme

Mevcut bir sütunun veri türünü değiştiremezsiniz. Bunun yerine istenen veri türüne sahip yeni bir tablo oluşturun ve verileri geçirin. Veri türleri hakkında daha fazla bilgi için bkz. Veri türü sürümleri.

Yaşam döngüsüne sahip bölümlenmiş tablolar için veri temizleme

Yapılandırılmış yaşam döngüsüne sahip bir tablodaki bir bölüm, belirtilen süre içinde değiştirilmediğinde MaxCompute bunu otomatik olarak geri alır.

Eski bir bölümün yaşam döngüsü süresi içinde değiştirilip değiştirilmediğini kontrol etmek için desc table_name partition(pt_spec); komutunu çalıştırın. Yaşam döngüsü ayarını görüntülemek için desc tablename; komutunu çalıştırın. MaxCompute süresi dolmuş bölümleri her gün saat 17:00'de geri alır. DataWorks konsolundaki durum güncellemesi gecikebilir; bu gecikme tipik olarak bir güne kadar çıkabilir.