Apa itu Danau Delta?
Delta Lake adalah lapisan penyimpanan yang dioptimalkan yang menyediakan fondasi untuk tabel di 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.
- Tabel Langsung Delta:
- SALIN KE DALAM
- Auto Loader
- Menambahkan UI data
- Mengonversi data Parquet atau Iceberg secara bertahap ke Delta Lake
- Konversi satu kali data Parquet atau Iceberg ke Delta Lake
- Mitra pihak ketiga
Untuk daftar lengkap opsi penyerapan, lihat Menyerap data ke dalam databricks lakehouse.
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 upsert menggunakan operasi penggabungan. Lihat Upsert ke dalam tabel Delta Lake menggunakan penggabungan.
- Delta Lake menyediakan banyak opsi untuk penimpaan selektif berdasarkan filter dan partisi. Lihat Menimpa data secara selektif dengan Delta Lake.
- Anda dapat memperbarui skema tabel secara manual atau otomatis tanpa menulis ulang data. Lihat Memperbarui skema tabel Delta Lake.
- Aktifkan pemetaan kolom untuk mengganti nama atau menghapus kolom tanpa menulis ulang data. Lihat Mengganti nama dan meletakkan kolom dengan pemetaan kolom Delta Lake.
Beban kerja bertahap dan streaming di Delta Lake
Delta Lake dioptimalkan untuk Streaming Terstruktur di Azure Databricks. Tabel Langsung Delta 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.
- Penegakan skema
- Batasan pada Azure Databricks
- Kolom yang dihasilkan 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 cairan untuk tabel Delta
- Melewatkan data untuk Delta Lake
- Mengoptimalkan tata letak file data
- Menghapus file data yang tidak digunakan dengan vakum
- 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 Delta Live Tables
Azure Databricks mendorong pengguna untuk memanfaatkan arsitektur medali untuk memproses data melalui serangkaian tabel saat data dibersihkan dan diperkaya. Tabel Langsung Delta 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 di tabel Delta, Anda dapat menggunakan SQL Spark atau API DataFrame Apache Spark.
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.