Ukuran tabel di Azure Databricks

Ukuran tabel yang dilaporkan untuk tabel Delta Lake dan Apache Iceberg berbeda dari ukuran total direktori file yang sesuai dalam penyimpanan objek cloud. Format data ini mempertahankan versi sebelumnya dari file data untuk mendukung kueri penelusuran data lintas waktu. File data hanya dihapus saat VACUUM dijalankan setelah ambang batas retensi berlalu. Lihat Menghapus file data yang tidak digunakan dengan vakum.

Mengapa ukuran tabel berbeda dari ukuran direktori

Ukuran tabel yang dilaporkan dalam Azure Databricks melalui UI dan DESCRIBE perintah merujuk ke ukuran total file data dalam penyimpanan untuk file-file yang direferensikan dalam versi tabel saat ini. Sebagian besar operasi yang menulis data ke tabel memerlukan penulisan ulang berkas data dasar, dan tetap menyimpan berkas data lama untuk memungkinkan kueri perjalanan waktu.

Catatan

Jika Anda secara teratur menghapus atau memperbarui rekaman dalam tabel, vektor penghapusan dapat mempercepat kueri dan mengurangi ukuran total file data. Lihat Vektor penghapusan di Databricks.

Menghitung metrik penyimpanan untuk tabel

Berlaku untuk:ditandai dengan ya Databricks Runtime 18.0 ke atas

Untuk memahami mengapa ukuran penyimpanan total berbeda dari ukuran tabel, gunakan ANALYZE TABLE … COMPUTE STORAGE METRICS. Perintah ini menunjukkan perincian terperinci alokasi penyimpanan, membantu Anda:

  • Mengidentifikasi peluang pengoptimalan biaya: Lihat berapa banyak penyimpanan yang dapat diklaim kembali dengan VACUUM
  • Menganalisis pengeluaran terkait penelusuran waktu: Memahami biaya penyimpanan data historis
  • Melacak pola penyimpanan: Memantau bagaimana penyimpanan tabel berkembang dari waktu ke waktu dengan menjalankan perintah secara berkala
  • Mengaudit penyimpanan di seluruh tabel: Jalankan perintah dalam sebuah perulangan untuk menganalisis seluruh sumber daya data Anda

Perintah mengembalikan metrik komprehensif termasuk:

  • Total ukuran penyimpanan: Melengkapi jejak termasuk semua data, metadata, dan log
  • Data aktif: Ukuran versi tabel saat ini
  • Data yang dapat dikosongkan: Ruang yang dapat diklaim kembali
  • Data perjalanan waktu: Data historis untuk pemutaran kembali

Ini sangat berharga untuk tabel terkelola Unity Catalog di mana Azure Databricks secara otomatis mengelola penyimpanan melalui pengoptimalan prediktif.

Lihat ANALYZE TABLE ... METRIK PENYIMPANAN KOMPUTASI untuk sintaks dan contoh lengkap.

Menggunakan pengoptimalan prediktif untuk mengontrol ukuran data

Databricks merekomendasikan penggunaan tabel terkelola Unity Catalog dengan pengoptimalan prediktif diaktifkan. Dengan tabel terkelola dan pengoptimalan prediktif, Databricks secara otomatis menjalankan OPTIMIZE dan VACUUM perintah untuk mencegah penumpukan file data yang tidak digunakan. Harapkan selalu ada perbedaan ukuran antara versi tabel saat ini dan ukuran total file data di penyimpanan objek cloud. File data yang tidak direferensikan dalam versi saat ini diperlukan untuk mendukung kueri perjalanan waktu. Lihat pengoptimalan prediktif untuk tabel terkelola Unity Catalog.

VACUUM metrik penyimpanan

Saat Anda membersihkan file data yang tidak digunakan dengan VACUUM atau menggunakan DRY RUN untuk mempratinjau file yang diatur untuk dihapus, metrik melaporkan jumlah file dan ukuran data yang dihapus. Ukuran dan jumlah file yang dihapus oleh VACUUM sangat bervariasi, tetapi sering kali ukuran file yang dihapus melebihi total ukuran versi tabel saat ini.

OPTIMIZE metrik penyimpanan

Saat OPTIMIZE berjalan pada tabel target, file data baru menggabungkan rekaman dari file data yang ada. Perubahan yang dilakukan selama OPTIMIZE hanya memengaruhi organisasi data, dan tidak ada perubahan pada konten data yang mendasar yang terjadi. Ukuran total file data yang mendasari untuk tabel meningkat setelah OPTIMIZE dijalankan, karena file ringkas baru berdampingan di direktori yang berisi dengan file data lama yang tidak dioptimasi.

Ukuran tabel yang dilaporkan setelah OPTIMIZE umumnya lebih kecil dari ukuran sebelum OPTIMIZE berjalan, karena ukuran total file data yang direferensikan oleh versi tabel saat ini berkurang dengan pemadatan data. Untuk menghapus file data yang mendasarinya, VACUUM harus berjalan setelah ambang batas retensi berlalu.

Catatan

Anda mungkin melihat metrik serupa untuk operasi seperti REORG TABLE atau DROP FEATURE. Semua operasi yang memerlukan penulisan ulang file data meningkatkan ukuran total data dalam direktori yang berisi hingga VACUUM menghapus file data yang tidak lagi direferensikan dalam versi tabel saat ini.