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.
Delta Lake ve Apache Iceberg, tablo davranışını ve özelliklerini denetlemek için tablo özelliklerini kullanır. Bu özelliklerin belirli anlamları olabilir ve ayarlandığında davranışları etkileyebilir.
Dikkat
Tablo özelliklerini ayarlayan veya güncelleştiren tüm işlemler diğer eşzamanlı yazma işlemleriyle çakışarak bunların başarısız olmasına neden olur. Databricks, tablo özelliğini yalnızca tabloda eşzamanlı yazma işlemi olmadığında değiştirmenizi önerir.
Tablo özelliklerini değiştirme
Varolan tabloların tablo özelliklerini değiştirmek için SET TBLPROPERTIESkullanın.
Delta ve Iceberg biçimleri
Delta Lake ve Apache Iceberg tabloları aynı tablo özellik adlarını paylaşır, ancak farklı ön ekler gerektirir:
-
Delta tabloları: Ön ekini
delta.kullanma -
Iceberg tabloları: Ön ekini
iceberg.kullanın
Örneğin:
- Delta tablosunda silme vektörlerini etkinleştirmek için:
delta.enableDeletionVectors - Iceberg tablosunda silme vektörlerini etkinleştirmek için:
iceberg.enableDeletionVectors
Tablo özellikleri ve SparkSession özellikleri
Her tablonun davranışını denetleyebilen kendi tablo özellikleri vardır. Bazı SparkSession yapılandırmaları her zaman tablo özelliklerini geçersiz kılar. Örneğin, autoCompact.enabled ve optimizeWrite.enabled SparkSession düzeyinde otomatik sıkıştırmayı ve iyileştirilmiş yazma işlemlerini etkinleştirir. Databricks, çoğu iş yükü için tablo kapsamlı yapılandırmaların kullanılmasını önerir.
SparkSession yapılandırmalarını kullanarak yeni tablolar için varsayılan değerleri ayarlayabilirsiniz. Bu varsayılanlar yalnızca yeni tablolar için geçerlidir ve mevcut tablo özelliklerini etkilemez. SparkSession yapılandırmaları, aşağıdaki tabloda gösterildiği gibi tablo özelliklerinden farklı bir ön ek kullanır:
| Tablo özelliği | SparkSession yapılandırması |
|---|---|
delta.<conf>iceberg.<conf> |
spark.databricks.delta.properties.defaults.<conf>spark.databricks.iceberg.properties.defaults.<conf> |
Örneğin, bir oturumda oluşturulan tüm yeni tabloların appendOnly = true özelliğini ayarlamak için aşağıdakileri ayarlayın:
-- For Delta tables
SET spark.databricks.delta.properties.defaults.appendOnly = true
-- For Iceberg tables
SET spark.databricks.iceberg.properties.defaults.appendOnly = true
Tablo özellikleri
Aşağıdaki tablo özelliklerinin çoğu, belirtilen durumlar dışında hem Delta Lake hem de Apache Iceberg tablolarında kullanılabilir. Delta tabloları için delta. önekini ve Iceberg tabloları için iceberg. önekini kullanın.
| Mülk | Description |
|---|---|
autoOptimize.optimizeWrite |
true yazma işlemleri sırasında bu tablonun dosyalarının düzenini otomatik olarak iyileştirmek için.Bkz İyileştirilmiş yazma işlemleri. Veri tipi: BooleanVarsayılan: (yok) |
dataSkippingNumIndexedCols |
Verilerin atlanmasıyla ilgili istatistiklerin toplanması gereken sütun sayısı. Değeri -1 , tüm sütunlar için istatistik toplama anlamına gelir.Bkz. Veri atlama. Veri tipi: IntVarsayılan: 32 |
dataSkippingStatsColumns |
Veri atlama işlevselliğini geliştirmek için istatistiklerin toplandığı sütun adlarının virgülle ayrılmış listesi. Bu özellik üzerinde dataSkippingNumIndexedColsönceliklidir.Bkz. Veri atlama. Veri tipi: StringVarsayılan: (yok) |
deletedFileRetentionDuration |
Mantıksal olarak silinen veri dosyalarını fiziksel olarak silmeden önce saklamak için en kısa süre. Bu, sıkıştırmalar veya bölüm üzerine yazıldıktan sonra eski okuyucularda hataları önler. Databricks varsayılan değer olan 7 gün veya üzerini önerir. Bekletme süreniz çok kısaysa, uzun süre çalışan işlerin iş tamamlanmadan önce kaydedilmemiş dosyaları silinmiş olabilir. Bkz Zaman yolculuğu sorguları için veri saklamayı yapılandırma. Veri tipi: CalendarIntervalVarsayılan: interval 1 week |
enableDeletionVectors |
true silme vektörlerini ve güncelleştirmeler için tahmine dayalı Girdi/Çıktı'yı etkinleştirmek için.Bkz . Databricks'te silme vektörleri ve Silme vektörlerini etkinleştirme. Veri tipi: BooleanVarsayılan: Çalışma alanı yönetici ayarlarına ve Databricks Runtime sürümüne bağlıdır. Bkz. Silme vektörlerini otomatik olarak etkinleştirme. |
logRetentionDuration |
Bir tablonun geçmişinin ne kadar süreyle tutulacağı.
VACUUM işlemler bu bekletme eşiğini geçersiz kılar.Her denetim noktası yazıldığında, Databricks saklama aralığından daha eski günlük girdilerini otomatik olarak temizler. Bu özelliği büyük bir değere ayarlamak, birçok günlük girdisinin tutulmasını sağlar. Günlük üzerindeki işlemler sabit zaman olduğundan bu durum performansı etkilemez. Geçmiş kaydı üzerindeki işlemler paraleldir, ancak günlük boyutunun artmasıyla beraber daha maliyetli hale gelir. Bkz Zaman yolculuğu sorguları için veri saklamayı yapılandırma. Veri tipi: CalendarIntervalVarsayılan: interval 30 days |
minReaderVersion (Yalnızca Delta Lake) |
Bu tablodan okumak için gereken en düşük protokol okuyucu sürümü. Databricks, bu özelliğin el ile yapılandırılmasına karşıdır. Bkz . Delta Lake özellik uyumluluğu ve protokolleri. Veri tipi: IntVarsayılan: 1 |
minWriterVersion (Yalnızca Delta Lake) |
Tabloya yazabilmek için gerekli minimum protokol yazar sürümü. Databricks, bu özelliğin el ile yapılandırılmasına karşıdır. Bkz . Delta Lake özellik uyumluluğu ve protokolleri. Veri tipi: IntVarsayılan: 2 |
format-version (Yalnızca Apache Iceberg tarafından yönetilen tablolar) |
Iceberg tablo biçimi sürümü. Databricks, bu özelliğin el ile yapılandırılmasına karşıdır. Bkz. Apache Iceberg v3 özelliklerini kullanma. Veri tipi: IntVarsayılan: 2 |
randomizeFilePrefixes |
true bölüm bilgileri yerine bir dosya yolu için rastgele ön ek oluşturmak için.Veri tipi: BooleanVarsayılan: false |
targetFileSize |
Dosya ayarlama için bayt veya daha yüksek birim cinsinden hedef dosya boyutu. Örneğin, 104857600 (bayt) veya 100mb.Bkz. Veri dosyası boyutunu denetleme. Veri tipi: StringVarsayılan: (yok) |
parquet.compression.codec |
Bir tablonun sıkıştırma codec'i. Geçerli değerler: ZSTD, SNAPPY, GZIP, LZ4, BROTLI (destek biçime göre değişir)Bu özellik, tabloya gelecek tüm yazma işlemlerinde kümeyi veya oturum varsayılanını ( spark.sql.parquet.compression.codec ) geçersiz kılarak seçilen codec bileşenini kullanmasını sağlar. Ancak, tek seferlik DataFrame .write.option("compression", "...") ayarları yine de önceliklidir. Databricks Runtime 16.0 ve sonraki sürümlerde kullanılabilir. Mevcut dosyaların otomatik olarak yeniden yazılmadığını unutmayın. Var olan verileri seçtiğiniz biçimle yeniden sıkıştırmak için kullanın OPTIMIZE table_name FULL.Veri tipi: StringVarsayılan: ZSTD |
parquet.format.version (Yalnızca Delta Lake) |
Veri dosyaları yazılırken kullanılan Parquet biçimi sürümü.
2.12.0 Daha gelişmiş Parquet kodlamaları ve veri sayfası üst bilgileri kullanarak Databricks Runtime'da sonuçları belirtme.Geçerli değerler 1.0.0 sürümlere karşılık gelen ve 2.12.0değerleridir.Bu özellik yalnızca Delta tabloları içindir. Iceberg, UniForm tabloları veya Databricks Runtime dışı altyapılar tarafından erişilen tablolar için bu özelliği ayarlamayın. Veri tipi: StringVarsayılan: 1.0.0 |
appendOnly |
true tablonun sadece eklenebilir olmasını sağlamak. Yalnızca ekleme tabloları, var olan kayıtları silmeye veya mevcut değerleri güncelleştirmeye izin vermez.Veri tipi: BooleanVarsayılan: false |
autoOptimize.autoCompact |
Küçük dosya sorunlarını azaltmak için tablo bölümleri içindeki küçük dosyaları otomatik olarak birleştirir. Kabul eder auto (önerilen), true, legacyveya false.Bkz. Otomatik sıkıştırma. Veri tipi: StringVarsayılan: (yok) |
checkpoint.writeStatsAsJson |
true sütununun denetim noktalarına JSON biçiminde dosya istatistikleri yazmak için stats .Veri tipi: BooleanVarsayılan: false |
checkpoint.writeStatsAsStruct |
true sütununun kontrol noktalarına dosya istatistiklerini yapı formatında yazmak ve stats_parsed, partitionValues_parsed için bölüm değerlerini yapı olarak yazmak.Veri tipi: BooleanVarsayılan: true |
checkpointPolicy |
classic klasik denetim noktaları için.
v2 v2 denetim noktaları için.Bkz. Sıvı kümeleme ile tablolar içinCheckpoint V2 ve Uyumluluk. Veri tipi: StringVarsayılan: classic |
columnMapping.mode |
Farklı adlar kullanan tablo sütunları ve ilgili Parquet sütunları arasında sütun eşlemesini etkinleştirir. Geçerli değerler: none, name ve id.Delta Lake sütun eşlemesi ile sütunları yeniden adlandırma ve bırakma konusuna bakın. Not: Etkinleştirildiğinde columnMapping.mode otomatik olarak etkinleştirilir randomizeFilePrefixes.Veri tipi: DeltaColumnMappingModeVarsayılan: none |
compatibility.symlinkFormatManifest.enabled (Yalnızca Delta Lake) |
true delta tablosunu, tablodaki tüm yazma işlemlerinin manifest dosyalarını otomatik olarak güncelleyecek şekilde yapılandırma.Veri tipi: BooleanVarsayılan: false |
enableChangeDataFeed |
true öğesini değişim veri beslemesini etkinleştirmek için kullanın.Bkz Değişiklik veri akışını etkinleştirme. Veri tipi: BooleanVarsayılan: false |
enableTypeWidening |
true tür genişletmeyi etkinleştirmek için.Bkz. Tür genişletme. Veri tipi: BooleanVarsayılan: false |
isolationLevel |
Bir işlemin eşzamanlı işlemler tarafından yapılan değişikliklerden yalıtılması gereken derece. Geçerli değerler: Serializable ve WriteSerializable.Bkz . Yalıtım düzeyleri (WriteSerializable ve Serializable). Veri tipi: StringVarsayılan: WriteSerializable |
randomPrefixLength |
randomizeFilePrefixes
true olduğunda rastgele önekler için oluşturulacak karakter sayısı.Veri tipi: IntVarsayılan: 2 |
setTransactionRetentionDuration |
Yeni anlık görüntülerin işlem tanımlayıcılarını (örneğin, SetTransactions) koruduğu en kısa süre. Yeni anlık görüntüler, bu özellik tarafından belirtilen süreye eşit veya ondan eski olan işlem kimliklerinin süresinin dolmasını ve dikkate alınmamasını sağlar. Yazmaların tek seferde etkili olmasını sağlamak için SetTransaction tanımlayıcı kullanılır. Ayrıntılar için bkz. Bir kez etkili tablo yazma işlemleri için kullanmaforeachBatch.Veri tipi: CalendarIntervalVarsayılan: (yok) |