Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:
Databricks SQL
Databricks Runtime
ANALYZE TABLE deyimini kullanın:
- Belirli bir tablo için depolama ölçümlerini hesapla
- Belirli bir tablo veya belirtilen şemadaki tüm tablolar hakkında tahmini istatistikleri toplayın.
Toplam depolama boyutu döndürmek için bir tabloda komutunu çalıştırın COMPUTE STORAGE METRICS .
Ayrıca, tahmini istatistikler sorgu iyileştiricisi tarafından en uygun sorgu planını oluşturmak için kullanılır. Tahmine dayalı iyileştirme, bu bilgileri toplamak için Unity Kataloğu yönetilen tablolarında otomatik olarak çalışır ANALYZE . Databricks, veri bakımını basitleştirmek ve depolama maliyetlerini azaltmak için tüm Unity Kataloğu yönetilen tablolarında tahmine dayalı iyileştirmenin etkinleştirilmesini önerir. Bkz. Unity Kataloğu tarafından yönetilen tablolar için tahmine dayalı optimizasyon.
Sözdizimi
ANALYZE TABLE table_name COMPUTE STORAGE METRICS
ANALYZE TABLE table_name [ PARTITION clause ]
COMPUTE [ DELTA ] STATISTICS [ NOSCAN | FOR COLUMNS col1 [, ...] | FOR ALL COLUMNS ]
ANALYZE TABLES [ { FROM | IN } schema_name ] COMPUTE STATISTICS [ NOSCAN ]
Parametreler
-
Analiz edilecek tabloyu tanımlar. Ad, zamansal belirtim veya seçenek belirtimi veya yolu içermemelidir. Tablo bulunamazsa Azure Databricks bir TABLE_OR_VIEW_NOT_FOUND hatası oluşturur.
-
İsteğe bağlı olarak komutu bölümlerin bir alt kümesiyle sınırlar.
Delta Lake tabloları için bu madde desteklenmez.
DELTAŞunlar için geçerlidir:
Databricks SQL
Databricks Runtime 14.3 LTS ve üzeriDelta tablosundaki istatistik koleksiyonu için yapılandırılan sütunlar için Delta günlüğünde depolanan istatistikleri yeniden derler.
Anahtar sözcük belirtildiğinde
DELTA, sorgu iyileştiricisi için normal istatistikler toplanmaz.Databricks, veri atlama işlemi için yeni sütunlar ayarlandıktan sonra, tablodaki tüm satırların istatistiklerini güncellemek amacıyla
ANALYZE TABLE table_name COMPUTE DELTA STATISTICSçalıştırılmasını önerir. İyileştirilmiş performans için Delta günlüğü güncelleştirmesi tamamlandıktan sonra sorgu planını güncelleştirmek için komutunu çalıştırınANALYZE TABLE table_name COMPUTE STATISTICS.[ NOSCAN | FOR COLUMNS col [, ...] | TÜM COLUMNS için ]
Çözümle seçeneği belirtilmezse,
ANALYZE TABLEtablonun satır sayısını ve boyutunu bayt cinsinden toplar.NOSCAN
Yalnızca tablonun boyutunu bayt cinsinden toplayın (tablonun tamamını taramayı gerektirmez).
FOR COLUMNS col [, ...] | TÜM COLUMNS
Belirtilen her sütun için sütun istatistiklerini veya alternatif olarak her sütun için sütun istatistiklerini ve tablo istatistiklerini toplayın.
Sütun istatistikleri
PARTITIONifadesiyle birlikte kullanıldığında desteklenmez.
{ KAYNAK
|IN } schema_nameÇözümlenecek şemanın adını belirtir. Şema adı olmadan,
ANALYZE TABLESgeçerli kullanıcının analiz etme iznine sahip olduğu geçerli şemadaki tüm tabloları toplar.
HESAPLAMA DEPOLAMA ÖLÇÜMLERİ
Şunun için geçerlidir:
Databricks Runtime 18.0 ve üzeri
ANALYZE TABLE … COMPUTE STORAGE METRICS komutu, bir tablonun toplam depolama boyutu ölçümlerini hesaplar. Sorgu performansını en iyi duruma getirmenin aksine ANALYZE TABLE … COMPUTE STATISTICS , bu komut maliyet analizi ve iyileştirme için ayrıntılı depolama dökümü sağlar.
Description
Belirli bir tablo için toplam depolama boyutu ölçümlerini hesaplar. Bu komut, her kategori için ilişkili dosya sayısıyla birlikte toplam bayt, etkin bayt, vakumlanabilir bayt ve zaman yolculuğu baytları gibi kapsamlı depolama bilgilerini döndürür.
Büyük veya kullanılmayan tabloları tanımlamak, depolama maliyetlerini iyileştirmek ve toplam depolama boyutunun etkin tablo boyutundan neden farklı olduğunu anlamak için bu komutu kullanın. Bu, özellikle birden çok tablodaki depolama desenlerini çözümlemesi veya zaman içindeki depolama değişikliklerini izlemesi gereken platform yöneticileri için kullanışlıdır.
Çıkış ölçümleri
komut, aşağıdaki ölçümleri tek bir satırda döndürür:
| Alan | Açıklama |
|---|---|
total_bytes |
Tablonun toplam depolama boyutu. Bu işlem günlüğü boyutu + etkin bayt + vakumlanabilir bayt + zaman yolculuğu baytlarına eşittir. |
num_total_files |
Delta günlük dosyaları, etkin dosyalar, vakumlanabilir dosyalar ve zaman yolculuğu dosyaları da dahil olmak üzere toplam dosya sayısı. |
active_bytes |
Tablo tarafından aktif olarak referans verilen veri dosyalarının boyutu (aynı sizeInBytes gibi). |
num_active_files |
Tablo tarafından aktif olarak başvurulan toplam dosya sayısı. |
vacuumable_bytes |
VACUUM veya tahmine dayalı iyileştirme etkinleştirilerek çalıştırıldığında kaldırılabilir verilerin boyutu. |
num_vacuumable_files |
Vakumlanabilir dosya sayısı. |
time_travel_bytes |
Geri alma işlemleri ve zaman yolculuğu işlemleri için kullanılan geçmişe dönük verilerin boyutu. Tombstoned bayt veya failsafe bytes olarak da bilinir. |
num_time_travel_files |
Zaman yolculuğu için kullanılan dosya sayısı. |
Ayrıntılar
- komutu, depolama bilgilerini hesaplamak için özyinelemeli bir liste yaklaşımı kullanır. Yürütme süresi genellikle dakikalar içindedir, ancak çok büyük tablolar için birkaç saat kadar sürebilir.
- Bu komut hem Unity Kataloğu yönetilen hem de dış tablolar için çalışır.
- Depolama ölçümleri komut çalıştırıldığı sırada hesaplanır ve Unity Kataloğu'nda depolanmaz veya
DESCRIBE EXTENDEDtarafından döndürülmez. - Zaman içindeki depolama değişikliklerini izlemek için bu komutu düzenli aralıklarla çalıştırın ve sonuçları bir tabloda depolayın. Veri varlığınız genelindeki depolama desenlerini analiz etmek için bu komutu birden çok tablo arasında döngü halinde çalıştırın.
Tablo türüyle ilgili dikkat edilmesi gerekenler
-
Gerçekleştirilmiş görünümler ve akış tabloları:
total_bytestablonun boyutunu ve ilişkili meta verileri içerir. Ölçüm,active_bytestablonun vakumlanabilir ve zaman taşınabilir kısımlarını dışlar. -
Sığ klonlar:
total_byteskaynak tablo dosyaları hariç, yalnızca kopyanın kendi meta verilerini ve delta günlük dosyalarını içerir.active_bytessıfıra eşittir çünkü kopya kaynak tablonun veri dosyalarına başvurur. - Dönüştürülen tablolar: Yakın zamanda dıştan yönetilene dönüştürülen tablolar hem yönetilen hem de dış konumlardaki verileri içerebilir. Örneğin, geri alma penceresi sırasında veriler dış konumda kalır. Bkz . Dış tabloyu yönetilen Unity Kataloğu tablosuna dönüştürme.
Örnekler
Aşağıdaki örneklerde depolama ölçümlerini hesaplamak ve istatistikleri toplamak için nasıl kullanılacağı ANALYZE TABLE gösterilmektedir.
HESAPLAMA DEPOLAMA ÖLÇÜMLERİ örnekleri
> ANALYZE TABLE main.my_schema.my_table COMPUTE STORAGE METRICS;
total_bytes total_num_files active_bytes num_active_files vacuumable_bytes num_vacuumable_files time_travel_bytes num_time_travel_files
----------- --------------- ------------ ---------------- ---------------- -------------------- ----------------- ---------------------
5368709120 1250 4294967296 1000 805306368 150 268435456 100
Çıktı şunları gösterir:
- Toplam depolama alanı: 1.250 dosyada 5,37 GB
- Etkin veriler: 1.000 dosyada 4,29 GB (geçerli tablo sürümü)
- Vakumlanabilir veriler: 150 dosyada 805 MB (ile VACUUMgeri kazanılabilir)
- Zaman yolculuğu verileri: 100 dosyada 268 MB (geçmiş sorgular için)
Hesaplama İstatistikleri Örnekleri
> CREATE TABLE students (name STRING, student_id INT) PARTITIONED BY (student_id);
> INSERT INTO students PARTITION (student_id = 111111) VALUES ('Mark');
> INSERT INTO students PARTITION (student_id = 222222) VALUES ('John');
> ANALYZE TABLE students COMPUTE STATISTICS NOSCAN;
> DESC EXTENDED students;
col_name data_type comment
-------------------- -------------------- -------
name string null
student_id int null
... ... ...
Statistics 864 bytes
... ... ...
> ANALYZE TABLE students COMPUTE STATISTICS;
> DESC EXTENDED students;
col_name data_type comment
-------------------- -------------------- -------
name string null
student_id int null
... ... ...
Statistics 864 bytes, 2 rows
... ... ...
-- Note: ANALYZE TABLE .. PARTITION is not supported for Delta tables.
> ANALYZE TABLE students PARTITION (student_id = 111111) COMPUTE STATISTICS;
> DESC EXTENDED students PARTITION (student_id = 111111);
col_name data_type comment
-------------------- -------------------- -------
name string null
student_id int null
... ... ...
Partition Statistics 432 bytes, 1 rows
... ... ...
OutputFormat org.apache.hadoop...
> ANALYZE TABLE students COMPUTE STATISTICS FOR COLUMNS name;
> DESC EXTENDED students name;
info_name info_value
-------------- ----------
col_name name
data_type string
comment NULL
min NULL
max NULL
num_nulls 0
distinct_count 2
avg_col_len 4
max_col_len 4
histogram NULL
> ANALYZE TABLES IN school_schema COMPUTE STATISTICS NOSCAN;
> DESC EXTENDED teachers;
col_name data_type comment
-------------------- -------------------- -------
name string null
teacher_id int null
... ... ...
Statistics 1382 bytes
... ... ...
> DESC EXTENDED students;
col_name data_type comment
-------------------- -------------------- -------
name string null
student_id int null
... ... ...
Statistics 864 bytes
... ... ...
> ANALYZE TABLES COMPUTE STATISTICS;
> DESC EXTENDED teachers;
col_name data_type comment
-------------------- -------------------- -------
name string null
teacher_id int null
... ... ...
Statistics 1382 bytes, 2 rows
... ... ...
> DESC EXTENDED students;
col_name data_type comment
-------------------- -------------------- -------
name string null
student_id int null
... ... ...
Statistics 864 bytes, 2 rows
... ... ...
> ANALYZE TABLE some_delta_table COMPUTE DELTA STATISTICS;