Apa itu Danau Delta?
Delta Lake adalah lapisan penyimpanan yang dioptimalkan dan menjadi fondasi bagi tabel-tabel dalam lakehouse di Databricks. Delta Lake adalah perangkat lunak sumber terbuka yang memperluas file data Parquet dengan log transaksi berbasis file untuk transaksi ACID dan penanganan metadata yang dapat diskalakan. Delta Lake sepenuhnya kompatibel dengan API Apache Spark, dan dikembangkan untuk integrasi yang ketat dengan Streaming Terstruktur, memungkinkan Anda untuk dengan mudah menggunakan satu salinan data untuk operasi batch dan streaming dan menyediakan pemrosesan bertahap dalam skala besar.
Delta Lake adalah format default untuk semua operasi di Azure Databricks. Kecuali ditentukan lain, semua tabel di Azure Databricks adalah tabel Delta. Databricks awalnya mengembangkan protokol Delta Lake dan terus secara aktif berkontribusi pada proyek sumber terbuka. Banyak pengoptimalan dan produk dalam platform Databricks dibangun berdasarkan jaminan yang disediakan oleh Apache Spark dan Delta Lake. Untuk informasi tentang pengoptimalan di Azure Databricks, lihat Rekomendasi pengoptimalan di Azure Databricks.
Untuk informasi referensi tentang perintah Delta Lake SQL, lihat pernyataan Delta Lake.
Log transaksi Delta Lake memiliki protokol terbuka yang terdefinisi dengan baik yang dapat digunakan oleh sistem apa pun untuk membaca log. Lihat Protokol Log Transaksi Delta.
Mulai dengan Delta Lake
Semua tabel di Azure Databricks adalah tabel Delta secara default. Baik Anda menggunakan Apache Spark DataFrames atau SQL, Anda mendapatkan semua manfaat Delta Lake hanya dengan menyimpan data Anda ke lakehouse dengan pengaturan default.
Untuk contoh operasi Delta Lake dasar seperti membuat tabel, membaca, menulis, dan memperbarui data, lihat tutorial : Delta Lake.
Databricks memiliki banyak rekomendasi untuk praktik terbaik untuk Delta Lake.
Mengonversi dan menyerap data ke Delta Lake
Azure Databricks menyediakan sejumlah produk untuk mempercepat dan menyederhanakan pemuatan data ke lakehouse Anda.
DLT:
Mengonversi data Parquet atau Iceberg secara bertahap ke Delta Lake
Untuk daftar lengkap opsi penyerapan, lihat Menyerap data ke dalam lakehouse Azure Databricks.
Memperbarui dan memodifikasi tabel Delta Lake
Transaksi atom dengan Delta Lake menyediakan banyak opsi untuk memperbarui data dan metadata. Databricks menyarankan Anda menghindari berinteraksi langsung dengan file log data dan transaksi di direktori file Delta Lake untuk menghindari kerusakan tabel Anda.
- Delta Lake mendukung pembaruan dan penyisipan menggunakan operasi penggabungan. Lihat Upsert ke dalam tabel Delta Lake menggunakan merge.
- Delta Lake menyediakan banyak opsi untuk penggantian selektif berdasarkan filter dan partisi. Lihat Mengganti data secara selektif dengan Delta Lake.
- Anda dapat memperbarui skema tabel secara manual atau otomatis tanpa menulis ulang data. Lihat Pembaharuan skema tabel Delta Lake.
- Aktifkan pemetaan kolom untuk mengganti nama atau menghapus kolom tanpa menulis ulang data. Lihat Ubah Nama dan hapus kolom dengan pemetaan kolom Delta Lake.
Beban kerja inkremental dan streaming pada Delta Lake
Delta Lake dioptimalkan untuk Streaming Terstruktur di Azure Databricks. DLT memperluas kemampuan asli dengan penyebaran infrastruktur yang disederhanakan, penskalaan yang ditingkatkan, dan dependensi data terkelola.
- Pembacaan dan penulisan streaming tabel Delta
- Menggunakan umpan data perubahan Delta Lake pada Azure Databricks
Mengkueri versi tabel sebelumnya
Setiap tulis ke tabel Delta membuat versi tabel baru. Anda dapat menggunakan log transaksi untuk meninjau modifikasi pada tabel Anda dan mengkueri versi tabel sebelumnya. Lihat Bekerja dengan riwayat tabel Delta Lake.
Peningkatan skema Delta Lake
Delta Lake memvalidasi skema saat menulis, memastikan bahwa semua data yang ditulis ke tabel sesuai dengan persyaratan yang telah Anda tetapkan.
- penerapan skema
- Batasan pada Azure Databricks
- kolom yang dihasilkan oleh Delta Lake
- memperkaya tabel Delta Lake dengan metadata kustom
Mengelola file dan mengindeks data dengan Delta Lake
Azure Databricks menetapkan banyak parameter default untuk Delta Lake yang memengaruhi ukuran file data dan jumlah versi tabel yang dipertahankan dalam riwayat. Delta Lake menggunakan kombinasi penguraian metadata dan tata letak data fisik untuk mengurangi jumlah file yang dipindai untuk memenuhi kueri apa pun.
- Menggunakan pengklusteran cair untuk tabel Delta
- Melewatkan data untuk Delta Lake
- Optimalkan tata letak file data
- Hapus file data yang tidak digunakan menggunakan perintah vacuum
- Mengonfigurasi Delta Lake untuk mengontrol ukuran file data
Mengonfigurasi dan meninjau pengaturan Delta Lake
Azure Databricks menyimpan semua data dan metadata untuk tabel Delta Lake di penyimpanan objek cloud. Banyak konfigurasi dapat diatur pada tingkat tabel atau dalam sesi Spark. Anda dapat meninjau detail tabel Delta untuk menemukan opsi apa yang dikonfigurasi.
Alur data menggunakan Delta Lake dan DLT
Azure Databricks mendorong pengguna untuk memanfaatkan arsitektur medali untuk memproses data melalui serangkaian tabel saat data dibersihkan dan diperkaya. DLT menyederhanakan beban kerja ETL melalui eksekusi yang dioptimalkan dan penyebaran dan penskalaan infrastruktur otomatis.
Kompatibilitas fitur Delta Lake
Tidak semua fitur Delta Lake ada di semua versi Databricks Runtime. Untuk informasi tentang penerapan versi Delta Lake, lihat Bagaimana Azure Databricks mengelola kompatibilitas fitur Delta Lake?.
Dokumentasi Delta Lake API
Untuk sebagian besar operasi baca dan tulis pada tabel Delta, Anda dapat menggunakan Spark SQL atau Apache Spark DataFrame API.
Untuk pernyataan SQL khusus Delta Lake, lihat pernyataan Delta Lake.
Azure Databricks memastikan kompatibilitas biner dengan API Delta Lake di Databricks Runtime. Untuk melihat versi Delta Lake API yang dikemas di setiap versi Databricks Runtime, lihat bagian Lingkungan sistem pada artikel yang relevan di catatan rilis Databricks Runtime. Untuk dokumentasi tentang API Delta Lake untuk Python, Scala, dan Java, lihat dokumentasi OSS Delta Lake.