Apa itu Delta Live Tables?
Delta Live Tables adalah kerangka kerja deklaratif untuk membangun alur pemrosesan data yang andal, dapat dipertahankan, dan dapat diuji. Anda menentukan transformasi yang akan dilakukan pada data Anda dan Delta Live Tables mengelola orkestrasi tugas, manajemen kluster, pemantauan, kualitas data, dan penanganan kesalahan.
Catatan
Tabel Langsung Delta memerlukan paket Premium. Hubungi tim akun Databricks Anda untuk informasi selengkapnya.
Alih-alih menentukan alur data Anda menggunakan serangkaian tugas Apache Spark terpisah, Anda menentukan tabel streaming dan tampilan materialisasi yang harus dibuat dan diperbarui oleh sistem. Tabel Langsung Delta mengelola bagaimana data Anda diubah berdasarkan kueri yang Anda tentukan untuk setiap langkah pemrosesan. Anda juga dapat memberlakukan kualitas data dengan ekspektasi Tabel Langsung Delta, yang memungkinkan Anda menentukan kualitas data yang diharapkan dan menentukan cara menangani rekaman yang menggagalkan ekspektasi tersebut.
Untuk mempelajari selengkapnya tentang manfaat membangun dan menjalankan alur ETL Anda dengan Tabel Langsung Delta, lihat halaman produk Tabel Langsung Delta.
Apa itu himpunan data Tabel Langsung Delta?
Himpunan data Tabel Langsung Delta adalah tabel streaming, tampilan materialisasi, dan tampilan yang dipertahankan sebagai hasil kueri deklaratif. Tabel berikut ini menjelaskan bagaimana setiap himpunan data diproses:
Jenis himpunan data | Bagaimana rekaman diproses melalui kueri yang ditentukan? |
---|---|
Tabel streaming | Setiap rekaman diproses tepat sekali. Ini mengasumsikan sumber khusus tambahan. |
Tampilan Materialisasi | Rekaman diproses sesuai kebutuhan untuk mengembalikan hasil yang akurat untuk status data saat ini. Tampilan materialisasi harus digunakan untuk tugas pemrosesan data seperti transformasi, agregasi, atau kueri lambat pra-komputasi dan komputasi yang sering digunakan. |
Tampilan | Rekaman diproses setiap kali tampilan dikueri. Gunakan tampilan untuk transformasi menengah dan pemeriksaan kualitas data yang tidak boleh diterbitkan ke himpunan data publik. |
Bagian berikut memberikan deskripsi yang lebih rinci tentang setiap jenis himpunan data. Untuk mempelajari selengkapnya tentang memilih jenis himpunan data untuk mengimplementasikan persyaratan pemrosesan data Anda, lihat Kapan menggunakan tampilan, tampilan materialisasi, dan tabel streaming.
Tabel streaming
Tabel streaming adalah tabel Delta dengan dukungan tambahan untuk pemrosesan data streaming atau inkremental. Tabel streaming memungkinkan Anda memproses himpunan data yang berkembang, menangani setiap baris hanya sekali. Karena sebagian besar himpunan data tumbuh terus menerus dari waktu ke waktu, tabel streaming baik untuk sebagian besar beban kerja penyerapan. Tabel streaming optimal untuk alur yang memerlukan kesegaran data dan latensi rendah. Tabel streaming juga dapat berguna untuk transformasi skala besar-besaran, karena hasilnya dapat dihitung secara bertahap saat data baru tiba, menjaga hasil tetap terbaru tanpa perlu sepenuhnya mengolah ulang semua data sumber dengan setiap pembaruan. Tabel streaming dirancang untuk sumber data yang hanya ditambahkan.
Catatan
Meskipun, secara default, tabel streaming memerlukan sumber data khusus tambahan, ketika sumber streaming adalah tabel streaming lain yang memerlukan pembaruan atau penghapusan, Anda dapat mengambil alih perilaku ini dengan bendera skipChangeCommits.
Tampilan Materialisasi
Tampilan materialisasi adalah tampilan di mana hasilnya telah dikomputasi sebelumnya. Tampilan materialisasi disegarkan sesuai dengan jadwal pembaruan alur tempat tampilan tersebut dimuat. Tampilan materialisasi sangat kuat karena dapat menangani perubahan apa pun dalam input. Setiap kali alur diperbarui, hasil kueri dihitung ulang untuk mencerminkan perubahan dalam himpunan data hulu yang mungkin terjadi karena kepatuhan, koreksi, agregasi, atau CDC umum. Tabel Langsung Delta menerapkan tampilan materialisasi sebagai tabel Delta, tetapi mengabstraksi kompleksitas yang terkait dengan aplikasi pembaruan yang efisien, memungkinkan pengguna untuk fokus pada penulisan kueri.
Tampilan
Semua tampilan di Azure Databricks menghitung hasil dari himpunan data sumber saat dikueri, memanfaatkan pengoptimalan penembolokan saat tersedia. Tabel Langsung Delta tidak menerbitkan tampilan ke katalog, sehingga tampilan hanya dapat dirujuk dalam alur di mana tampilan tersebut ditentukan. Tampilan berguna sebagai kueri perantara yang tidak boleh diekspos ke pengguna akhir atau sistem. Databricks merekomendasikan penggunaan tampilan untuk memberlakukan batasan kualitas data atau mengubah dan memperkaya himpunan data yang mendorong beberapa kueri hilir.
Mendeklarasikan himpunan data pertama Anda di Tabel Langsung Delta
Tabel Langsung Delta memperkenalkan sintaks baru untuk Python dan SQL. Untuk mempelajari dasar-dasar sintaks alur, lihat Mengembangkan kode alur dengan Python dan Mengembangkan kode alur dengan SQL.
Catatan
Tabel Langsung Delta memisahkan definisi himpunan data dari pemrosesan pembaruan, dan buku catatan Tabel Langsung Delta tidak ditujukan untuk eksekusi interaktif. Lihat Apa itu alur Delta Live Tables?.
Apa itu alur Delta Live Tables?
Alur adalah unit utama yang digunakan untuk mengonfigurasi dan menjalankan alur kerja pemrosesan data dengan Tabel Langsung Delta.
Alur berisi tampilan materialisasi dan tabel streaming yang dideklarasikan dalam file sumber Python atau SQL. Tabel Langsung Delta menyimpulkan dependensi antara tabel ini, memastikan pembaruan terjadi dalam urutan yang benar. Untuk setiap himpunan data, Tabel Langsung Delta membandingkan status saat ini dengan status yang diinginkan dan melanjutkan untuk membuat atau memperbarui himpunan data menggunakan metode pemrosesan yang efisien.
Pengaturan alur Delta Live Tables termasuk dalam dua kategori luas:
- Konfigurasi yang menentukan kumpulan buku catatan atau file (dikenal sebagai kode sumber) yang menggunakan sintaks Delta Live Tables untuk mendeklarasikan himpunan data.
- Konfigurasi yang mengontrol infrastruktur alur, manajemen dependensi, cara pembaruan diproses, dan cara tabel disimpan di ruang kerja.
Sebagian besar konfigurasi bersifat opsional, tetapi beberapa memerlukan perhatian yang cermat, terutama saat mengonfigurasi alur produksi. Manfaatnya meliputi:
- Untuk membuat data tersedia di luar alur, Anda harus mendeklarasikan skema target untuk diterbitkan ke metastore Apache Hive atau katalog target dan skema target untuk diterbitkan ke Katalog Unity.
- Izin akses data dikonfigurasi melalui kluster yang digunakan untuk eksekusi. Pastikan kluster Anda memiliki izin yang sesuai yang dikonfigurasi untuk sumber data dan lokasi penyimpanan target, jika ditentukan.
Untuk detail tentang menggunakan Python dan SQL untuk menulis kode sumber untuk alur, lihat Referensi bahasa Delta Live Tables SQL dan referensi bahasa Delta Live Tables Python.
Untuk informasi selengkapnya tentang pengaturan dan konfigurasi alur, lihat Mengonfigurasi alur Tabel Langsung Delta.
Menyebarkan alur pertama Anda dan memicu pembaruan
Sebelum memproses data dengan Tabel Langsung Delta, Anda harus mengonfigurasi alur. Setelah alur dikonfigurasi, Anda dapat memicu pembaruan untuk menghitung hasil untuk setiap himpunan data di alur Anda. Untuk mulai menggunakan alur Delta Live Tables, lihat Tutorial: Menjalankan alur Delta Live Tables pertama Anda.
Apa itu pembaruan alur?
Alur menyebarkan infrastruktur dan mengolah ulang status data saat Anda memulai pembaruan. Pembaruan melakukan hal berikut:
- Memulai kluster dengan konfigurasi yang benar.
- Menemukan semua tabel dan tampilan yang ditentukan, serta memeriksa kesalahan analisis seperti nama kolom yang tidak valid, dependensi yang hilang, dan galat sintaksis.
- Membuat atau memperbarui semua tabel dan tampilan dengan data terbaru yang tersedia.
Alur dapat dijalankan terus menerus atau sesuai jadwal tergantung pada persyaratan biaya dan latensi kasus penggunaan Anda. Lihat Menjalankan pembaruan pada alur Delta Live Tables.
Menyerap data dengan Tabel Langsung Delta
Tabel Langsung Delta mendukung semua sumber data yang tersedia di Azure Databricks.
Databricks merekomendasikan penggunaan tabel streaming untuk sebagian besar kasus penggunaan penyerapan. Untuk file yang tiba di penyimpanan objek cloud, Databricks merekomendasikan Auto Loader. Anda dapat langsung menyerap data dengan Tabel Langsung Delta dari sebagian besar bus pesan.
Untuk informasi selengkapnya tentang mengonfigurasi akses ke penyimpanan cloud, lihat Konfigurasi penyimpanan cloud.
Untuk format yang tidak didukung oleh Auto Loader, Anda dapat menggunakan Python atau SQL untuk mengkueri format apa pun yang didukung oleh Apache Spark. Lihat Memuat data dengan Tabel Langsung Delta.
Memantau dan menerapkan kualitas data
Anda dapat menggunakan ekspektasi untuk menentukan kontrol kualitas data pada konten himpunan data. Tidak seperti kendala CHECK
dalam database tradisional yang mencegah penambahan catatan yang membuat kendala gagal, ekspektasi memberikan fleksibilitas ketika memproses data yang membuat persyaratan kualitas data gagal. Fleksibilitas ini memungkinkan Anda memproses dan menyimpan data yang Anda duga akan berantakan dan data yang harus memenuhi persyaratan kualitas yang ketat. Lihat Mengelola kualitas data dengan Tabel Langsung Delta.
Bagaimana Delta Live Tables dan Delta Lake terkait?
Tabel Langsung Delta memperluas fungsionalitas Delta Lake. Karena tabel yang dibuat dan dikelola oleh Tabel Langsung Delta adalah tabel Delta, tabel tersebut memiliki jaminan dan fitur yang sama yang disediakan oleh Delta Lake. Harap lihat Apa itu Delta Lake?.
Tabel Langsung Delta menambahkan beberapa properti tabel selain banyak properti tabel yang dapat diatur di Delta Lake. Lihat Referensi properti Tabel Langsung Delta dan referensi properti tabel Delta.
Cara tabel dibuat dan dikelola oleh Tabel Langsung Delta
Azure Databricks secara otomatis mengelola tabel yang dibuat dengan Tabel Langsung Delta, menentukan bagaimana pembaruan perlu diproses untuk menghitung status tabel saat ini dengan benar dan melakukan sejumlah tugas pemeliharaan dan pengoptimalan.
Untuk sebagian besar operasi, Anda harus mengizinkan Tabel Langsung Delta memproses semua pembaruan, penyisipan, dan penghapusan ke tabel target. Untuk detail dan batasan, lihat Mempertahankan penghapusan atau pembaruan manual.
Tugas pemeliharaan yang dilakukan oleh Tabel Langsung Delta
Tabel Langsung Delta melakukan tugas pemeliharaan dalam waktu 24 jam setelah tabel diperbarui. Pemeliharaan dapat meningkatkan performa kueri dan mengurangi biaya dengan menghapus versi tabel lama. Secara default, sistem melakukan operasi OPTIMIZE penuh diikuti oleh VACUUM. Anda dapat menonaktifkan OPTIMIZE untuk tabel dengan mengatur pipelines.autoOptimize.managed = false
di properti tabel untuk tabel. Tugas pemeliharaan dilakukan hanya jika pembaruan alur telah berjalan dalam 24 jam sebelum tugas pemeliharaan dijadwalkan.
Batasan
Batasan berikut berlaku:
- Semua tabel yang dibuat dan diperbarui oleh Tabel Langsung Delta adalah tabel Delta.
- Kueri perjalanan waktu Delta Lake hanya didukung dengan tabel Streaming, dan tidak didukung dengan tampilan materialisasi. Lihat Bekerja dengan riwayat tabel Delta Lake.
- Tabel Tabel Langsung Delta hanya dapat ditentukan sekali, yang berarti tabel hanya dapat menjadi target operasi tunggal di semua alur Tabel Langsung Delta.
- Kolom identitas tidak didukung dengan tabel yang menjadi target
APPLY CHANGES INTO
dan mungkin dikomputasi ulang selama pembaruan untuk tampilan materialisasi. Untuk alasan ini, Databricks merekomendasikan penggunaan kolom identitas di Tabel Langsung Delta hanya dengan tabel streaming. Lihat Menggunakan kolom identitas di Delta Lake. - Ruang kerja Azure Databricks dibatasi hingga 100 pembaruan alur bersamaan.
Untuk daftar persyaratan dan batasan yang khusus untuk menggunakan Tabel Langsung Delta dengan Katalog Unity, lihat Menggunakan Katalog Unity dengan alur Tabel Langsung Delta Anda