Referensi properti tabel Delta
Delta Lake menyimpan properti tabel Delta yang diawali dengan delta.
. Properti-properti tersebut mungkin memiliki makna tertentu dan dapat memengaruhi perilaku ketika properti tersebut disetel.
Catatan
Semua operasi yang mengatur atau memperbarui properti tabel bertentangan dengan operasi tulis bersamaan lainnya, menyebabkannya gagal. Databricks menyarankan Anda memodifikasi properti tabel hanya ketika tidak ada operasi tulis bersamaan pada tabel.
Bagaimana properti tabel dan properti SparkSession berinteraksi?
Properti pada tabel Delta ditetapkan untuk setiap tabel. Jika properti diatur pada tabel, maka ini adalah pengaturan yang diikuti secara default.
Beberapa properti tabel memiliki konfigurasi SparkSession terkait yang selalu diutamakan daripada properti tabel. Beberapa contoh termasuk konfigurasi spark.databricks.delta.autoCompact.enabled
dan spark.databricks.delta.optimizeWrite.enabled
, yang mengaktifkan pemadatan otomatis dan pengoptimalan penulisan pada tingkat SparkSession, bukan pada tingkat tabel. Databricks merekomendasikan penggunaan konfigurasi yang berfokus pada tabel untuk sebagian besar beban kerja.
Untuk setiap properti tabel Delta, Anda dapat mengatur nilai default untuk tabel baru menggunakan konfigurasi SparkSession, mengganti default bawaan. Pengaturan ini hanya memengaruhi tabel baru dan tidak menimpa atau mengganti properti yang diatur pada tabel yang sudah ada. Awalan yang digunakan dalam SparkSession berbeda dari konfigurasi yang digunakan dalam properti tabel, seperti yang ditunjukkan dalam tabel berikut:
Delta Lake konferensi | SparkSession conf |
---|---|
delta.<conf> |
spark.databricks.delta.properties.defaults.<conf> |
Misalnya, untuk mengatur properti delta.appendOnly = true
untuk semua tabel Delta Lake baru yang dibuat dalam sesi, atur yang berikut ini:
SET spark.databricks.delta.properties.defaults.appendOnly = true
Untuk mengubah properti tabel tabel yang ada, gunakan SET TBLPROPERTIES.
Properti tabel Delta
Properti tabel Delta yang tersedia meliputi yang berikut ini:
Properti |
---|
delta.appendOnly true agar tabel Delta ini hanya dapat ditambahkan. Jika tambahkan-saja, rekaman yang ada tidak dapat dihapus, dan nilai yang ada tidak dapat diperbarui.Lihat referensi properti tabel Delta . Jenis data: Boolean Bawaan: false |
delta.autoOptimize.autoCompact auto untuk Delta Lake agar secara otomatis mengoptimalkan tata letak file pada tabel Delta ini.Lihat Pemadatan otomatis untuk Delta Lake di Azure Databricks. Jenis data: Boolean Default: (tidak ada) |
delta.autoOptimize.optimizeWrite true untuk Delta Lake untuk mengoptimalkan tata letak file secara otomatis pada tabel Delta ini saat penulisan data.Lihat Penulisan yang dioptimalkan untuk Delta Lake di Azure Databricks. Jenis data: Boolean Default: (tidak ada) |
delta.checkpoint.writeStatsAsJson true agar Delta Lake menulis statistik file dalam format JSON pada titik pemeriksaan untuk kolom stats .Lihat Mengelola statistik tingkat kolom pada titik pemeriksaan. Jenis data: Boolean Bawaan: true |
delta.checkpoint.writeStatsAsStruct true agar Delta Lake menuliskan statistik berkas ke titik pemeriksaan dalam format struktur untuk kolom stats_parsed dan menuliskan nilai partisi sebagai struktur untuk partitionValues_parsed .Lihat Mengelola statistik tingkat kolom pada titik pemeriksaan. Jenis data: Boolean Default: (tidak ada) |
delta.checkpointPolicy classic untuk titik pemeriksaan Delta Lake yang klasik.
v2 untuk titik pemeriksaan v2.Lihat Kompatibilitas untuk tabel dengan pengklusteran cair. Jenis data: String Default: classic |
delta.columnMapping.mode Apakah pemetaan kolom diaktifkan untuk kolom tabel Delta dan kolom Parquet terkait yang menggunakan nama yang berbeda. Lihat Ganti Nama dan hapus kolom dengan pemetaan kolom Delta Lake. Catatan: Mengaktifkan delta.columnMapping.mode aktifkan secara otomatisdelta.randomizeFilePrefixes .Jenis data: DeltaColumnMappingMode Default: none |
delta.dataSkippingNumIndexedCols Jumlah kolom yang akan digunakan Delta Lake untuk mengumpulkan statistik terkait pengabaian data. Nilai -1 berarti mengumpulkan statistik untuk semua kolom.Lihat Melewatkan data untuk Delta Lake. Jenis data: Int Default: 32 |
delta.dataSkippingStatsColumns Daftar nama kolom yang dipisahkan dengan koma di mana Delta Lake mengumpulkan statistik untuk meningkatkan fungsionalitas dalam melewati data. Properti ini lebih diutamakan daripada delta.dataSkippingNumIndexedCols .Lihat Melewatkan data untuk Delta Lake. Jenis data: String Default: (tidak ada) |
delta.deletedFileRetentionDuration Durasi terpendek bagi Delta Lake untuk menyimpan file data yang dihapus secara logis sebelum menghapusnya secara fisik. Ini dilakukan untuk mencegah kegagalan pada pembaca yang tidak aktif setelah pemampatan atau penimpaan partisi. Nilai ini harus cukup besar untuk memastikan bahwa:
Lihat Mengonfigurasi retensi data untuk kueri perjalanan waktu. Jenis data: CalendarInterval Default: interval 1 week |
delta.enableChangeDataFeed true untuk mengaktifkan perubahan umpan data.Lihat Mengaktifkan umpan data perubahan. Jenis data: Boolean Default: false |
delta.enableDeletionVectors true untuk mengaktifkan vektor penghapusan dan I/O prediktif untuk pembaruan.Lihat Apa itu vektor penghapusan?. Jenis data: Boolean Default: Bergantung pada pengaturan admin ruang kerja dan versi Databricks Runtime. Lihat Mengaktifkan vektor penghapusan secara otomatis |
delta.isolationLevel Tingkat isolasi transaksi dari modifikasi yang dilakukan oleh transaksi bersamaan. Nilai yang valid adalah Serializable dan WriteSerializable .Lihat Tingkat isolasi dan tulis konflik di Azure Databricks. Jenis data: String Default: WriteSerializable |
delta.logRetentionDuration Berapa lama riwayat tabel Delta disimpan. VACUUM operasi menggantikan ambang retensi ini.Setiap kali titik pemeriksaan ditulis, Delta Lake secara otomatis membersihkan entri log yang lebih lama dari interval retensi. Jika Anda mengatur properti ini ke nilai yang cukup besar, banyak entri log yang dipertahankan. Ini seharusnya tidak memengaruhi kinerja karena operasi terhadap log adalah waktu yang konstan. Operasi pada riwayat bersifat paralel tetapi akan memerlukan lebih banyak sumber daya seiring ukuran log meningkat. Lihat Mengonfigurasi retensi data untuk kueri perjalanan waktu. Jenis data: CalendarInterval Default: interval 30 days |
delta.minReaderVersion Versi pembaca protokol minimum yang diperlukan untuk pembaca yang memungkinkan untuk membaca dari tabel Delta ini. Databricks merekomendasikan untuk tidak mengonfigurasi properti ini secara manual. Lihat Bagaimana Azure Databricks mengelola kompatibilitas fitur Delta Lake?. Jenis data: Int Bawaan: 1 |
delta.minWriterVersion Versi penulis protokol minimum yang dibutuhkan untuk dapat menulis ke tabel Delta ini. Databricks merekomendasikan untuk tidak mengonfigurasi properti ini secara manual. Lihat Bagaimana Azure Databricks mengelola kompatibilitas fitur Delta Lake?. Jenis data: Int Default: 2 |
delta.randomizeFilePrefixes true untuk Delta Lake menghasilkan awalan acak untuk jalur file, bukan informasi partisi.Jenis data: Boolean Default: false |
delta.randomPrefixLength Saat delta.randomizeFilePrefixes diatur ke true , jumlah karakter yang Delta Lake hasilkan untuk awalan acak.Jenis data: Int Default: 2 |
delta.setTransactionRetentionDuration Durasi terpendek di mana rekam jepret baru akan mempertahankan pengidentifikasi transaksi (misalnya, SetTransaction s). Ketika rekam jepret baru melihat pengidentifikasi transaksi yang lebih lama dari atau sama dengan durasi yang ditentukan oleh properti ini, rekam jepret menganggapnya kedaluwarsa dan mengabaikannya. Pengidentifikasi SetTransaction digunakan untuk membuat penulisan menjadi idempoten. Lihat penulisan tabel Idempotent di foreachBatch untuk detailnya.Jenis data: CalendarInterval Default: (tidak ada) |
delta.targetFileSize Ukuran file target dalam byte atau unit yang lebih tinggi untuk penyetelan file. Contohnya, 104857600 (byte) atau 100mb .Lihat Mengonfigurasi Delta Lake untuk mengontrol ukuran file data. Jenis data: String Default: (tidak ada) |
delta.tuneFileSizesForRewrites true untuk selalu menggunakan ukuran file yang lebih rendah untuk semua operasi pengoptimalan tata letak data pada tabel Delta.false untuk menghindari penyetelan ke ukuran file yang lebih rendah, yaitu mencegah agar deteksi otomatis tidak diaktifkan.Lihat Mengonfigurasi Delta Lake untuk mengontrol ukuran file data. Jenis data: Boolean Default: (tidak ada) |