Apa itu Delta Lake di Azure Databricks?

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 Lake. 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 Lake 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: Membuat dan mengelola tabel Delta Lake.

Untuk rekomendasi Databricks dan praktik terbaik tentang menggunakan Delta Lake, lihat Praktik terbaik: Delta Lake.

Mengonversi dan menyerap data ke Delta Lake

Azure Databricks memiliki banyak fitur untuk mempercepat dan menyederhanakan pemuatan data ke lakehouse Anda.

Metode Description
Tutorial: Membangun alur ETL dengan alur Lakeflow Buat alur ETL end-to-end menggunakan alur Lakeflow.
Siapkan penyerapan bertahap dari Azure Data Lake Storage Siapkan penyerapan bertahap dari penyimpanan cloud menggunakan alur Auto Loader dan Lakeflow.
Tabel streaming Gunakan tabel streaming untuk ingesti khusus penambahan dan streaming berlatensi rendah di pipeline Lakeflow.
Mulai menggunakan COPY INTO untuk memuat data Muat data secara bertahap dan secara idempoten dari penyimpanan cloud menggunakan SQL.
Apa itu Auto Loader? Masukkan file dari penyimpanan cloud secara bertahap saat file tiba.
Membuat atau mengubah tabel menggunakan unggahan file Unggah file dan buat tabel dari antarmuka pengguna Azure Databricks.
Mengklon tabel Parquet dan Apache Iceberg secara bertahap ke Delta Lake Klon Parquet atau tabel Apache Iceberg secara bertahap ke Delta Lake.
Konversi ke Delta Lake Konversi satu kali tabel Parquet atau Apache Iceberg ke Delta Lake.
Mitra teknologi Hubungkan mitra dan alat pihak ketiga ke lakehouse Azure Databricks Anda.

Untuk daftar lengkap opsi penyerapan, lihat Konektor standar di Lakeflow Connect.

Memperbarui dan memodifikasi tabel Delta Lake

Transaksi atom dengan Delta Lake memungkinkan Anda menggunakan banyak opsi untuk memperbarui data dan metadata. Untuk menghindari kerusakan tabel Anda, Databricks menyarankan agar Anda menghindari berinteraksi langsung dengan file log data dan transaksi di direktori file Delta Lake.

Pengoperasian Description
Lakukan upsert ke dalam tabel Delta Lake menggunakan merge Lakukan upsert data pada tabel Delta Lake menggunakan operasi penggabungan.
Menimpa data secara selektif dengan Delta Lake Timpa subset data berdasarkan filter dan partisi.
Memperbarui skema tabel dengan evolusi skema Memperbarui skema tabel Anda secara manual atau otomatis tanpa menulis ulang data.
Ganti nama dan hapus kolom dengan pemetaan kolom Delta Lake Ganti nama atau hapus kolom tanpa menulis ulang data.

Beban kerja inkremental dan streaming pada Delta Lake

Delta Lake dioptimalkan untuk Streaming Terstruktur di Azure Databricks. Alur Lakeflow memperluas kemampuan bawaan dengan penyebaran infrastruktur yang disederhanakan, penskalaan yang ditingkatkan, dan dependensi data terkelola.

Fitur Description
Pembacaan dan penulisan streaming tabel Delta Lake Gunakan tabel Delta Lake sebagai sumber dan sink untuk Streaming Terstruktur dengan readStream dan writeStream.
Gunakan umpan data perubahan pada Azure Databricks Lacak perubahan tingkat baris antara versi tabel Delta Lake atau Apache Iceberg v3.

Mengkueri versi tabel sebelumnya

Setiap penulisan ke tabel Delta Lake membuat versi baru tabel. Anda dapat menggunakan log transaksi untuk meninjau modifikasi pada tabel Anda dan mengkueri versi tabel sebelumnya. Lihat Bekerja dengan riwayat tabel.

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.

Fitur Description
Penegakan skema Validasi kualitas data dengan memberlakukan skema saat menulis.
Batasan pada Azure Databricks Menerapkan batasan integritas yang diberlakukan dan kunci primer informasi, kunci asing, dan batasan unik.
Kolom hasil buatan Delta Lake Buat nilai kolom secara otomatis menggunakan fungsi yang ditentukan pengguna.
Memperkaya tabel dengan metadata kustom Tambahkan komentar dan metadata kustom ke tabel dan kolom untuk memperkaya penemuan data.

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.

Fitur Description
Menggunakan pengklusteran cairan untuk tabel Sederhanakan tata letak data dan optimalkan performa kueri tanpa partisi menggunakan pengklusteran cair.
Pengabaian data Lewati file yang tidak relevan pada waktu kueri menggunakan statistik kolom, urutan Z, dan tata letak data yang dioptimalkan.
Mengoptimalkan tata letak file data Padatkan file data kecil untuk meningkatkan performa kueri.
Menghapus file data yang tidak digunakan dengan vakum Hapus file data kedaluarsa untuk mengurangi biaya penyimpanan.
Penghapusan baris otomatis dengan masa berlaku otomatis Menghapus baris secara otomatis dari tabel terkelola setelah periode waktu yang dapat dikonfigurasi.
Mengontrol ukuran file data Mengontrol ukuran file target secara manual atau mengaktifkan penyetelan ukuran file otomatis.

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 Lake untuk menemukan opsi apa yang dikonfigurasi.

Fitur Description
Meninjau detail tabel dengan mendeskripsikan detail Lihat konfigurasi tabel dan metadata menggunakan DESCRIBE DETAIL perintah .
Referensi properti tabel Daftar referensi properti tabel yang tersedia untuk tabel Delta Lake.

Alur data menggunakan alur Delta Lake dan Lakeflow

Azure Databricks mendorong pengguna untuk memanfaatkan arsitektur medali untuk memproses data melalui serangkaian tabel saat data dibersihkan dan diperkaya. Alur Lakeflow 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 Kompatibilitas dan protokol fitur Delta Lake.

Dokumentasi Delta Lake API

Untuk sebagian besar operasi baca dan tulis pada tabel Delta Lake, Anda dapat menggunakan API Spark SQL atau Apache Spark DataFrame .

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.