Bagikan melalui


Apa itu DLT?

Nota

DLT memerlukan paket Premium. Hubungi tim akun Databricks Anda untuk informasi selengkapnya.

DLT adalah kerangka kerja deklaratif yang dirancang untuk menyederhanakan pembuatan alur ekstrak, transformasi, dan pemuatan (ETL) yang andal dan dapat dipertahankan. Anda menentukan data apa yang akan diserap dan cara mengubahnya, dan DLT mengotomatiskan aspek utama dalam mengelola alur data Anda, termasuk orkestrasi, manajemen komputasi, pemantauan, penegakan kualitas data, dan penanganan kesalahan.

DLT dibangun di atas Apache Spark, tetapi alih-alih menentukan alur data Anda menggunakan serangkaian tugas Apache Spark terpisah, Anda menentukan tabel streaming dan tampilan materialisasi yang harus dibuat sistem dan kueri yang diperlukan untuk mengisi dan memperbarui tabel streaming dan tampilan materialisasi tersebut.

Untuk mempelajari selengkapnya tentang manfaat membangun dan menjalankan alur ETL Anda dengan DLT, lihat halaman produk DLT.

Manfaat DLT dibandingkan dengan Apache Spark

Apache Spark adalah mesin analitik terpadu sumber terbuka serbaguna, termasuk ETL. DLT dibangun di Spark untuk mengatasi tugas pemrosesan ETL tertentu dan umum. DLT dapat secara signifikan mempercepat jalur Anda ke produksi ketika kebutuhan Anda mencakup tugas pemrosesan ini, termasuk:

  • Menyerap data dari sumber umum.
  • Mengubah data secara bertahap.
  • Melakukan pemantauan perubahan data (CDC).

Namun, DLT tidak cocok untuk menerapkan beberapa jenis logika prosedural. Misalnya, persyaratan pemrosesan seperti menulis ke tabel eksternal atau menyertakan kondisional yang beroperasi pada penyimpanan file eksternal atau tabel database tidak dapat dilakukan di dalam kode yang menentukan himpunan data DLT. Untuk menerapkan pemrosesan yang tidak didukung oleh DLT, Databricks merekomendasikan penggunaan Apache Spark atau menyertakan alur dalam Pekerjaan Databricks yang melakukan pemrosesan dalam tugas pekerjaan terpisah. Lihat tugas saluran DLT untuk pekerjaan.

Tabel berikut membandingkan DLT dengan Apache Spark:

Kemampuan DLT Apache Spark
Transformasi data Anda dapat mengubah data menggunakan SQL atau Python. Anda dapat mengubah data menggunakan SQL, Python, Scala, atau R.
Pemrosesan data bertahap Banyak transformasi data diproses secara otomatis secara bertahap. Anda harus menentukan data apa yang baru sehingga Anda dapat memprosesnya secara bertahap.
Orkestrasi Transformasi secara otomatis diatur dalam urutan yang tepat. Anda harus memastikan bahwa transformasi yang berbeda berjalan dalam urutan yang benar.
Paralelisme Semua transformasi dijalankan dengan tingkat paralelisme yang benar. Anda harus menggunakan benang atau orchestrator eksternal untuk menjalankan transformasi yang tidak terkait secara paralel.
Penanganan kesalahan Kegagalan diulang secara otomatis. Anda harus memutuskan cara menangani kesalahan dan mencoba kembali.
Pemantauan Metrik dan peristiwa dicatat secara otomatis. Anda harus menulis kode untuk mengumpulkan metrik tentang eksekusi atau kualitas data.

Konsep Utama DLT

Ilustrasi berikut menunjukkan komponen penting dari alur DLT, diikuti dengan penjelasan masing-masing.

konsep kunci DLT.

tabel streaming

Tabel streaming adalah tabel Delta yang memiliki satu atau beberapa aliran yang menulis ke tabel tersebut. Tabel streaming umumnya digunakan untuk penyerapan karena memproses data input tepat sekali dan dapat memproses data khusus tambahan dalam volume besar. Tabel streaming juga berguna untuk transformasi cepat aliran data volume tinggi.

Tampilan materialisasi

Tampilan materialisasi adalah tampilan yang berisi rekaman yang telah dikomputasi berdasarkan kueri yang menentukan tampilan materialisasi. Rekaman dalam tampilan materialisasi secara otomatis selalu diperbarui oleh DLT berdasarkan jadwal pembaruan atau pemicu alur. Setiap kali pandangan materialisasi diperbarui, dijamin memiliki hasil yang sama dengan menjalankan kueri definisi pada data terbaru yang tersedia. Namun, ini sering dilakukan tanpa merekomputasi hasil lengkap dari awal, menggunakan refresh inkremental. Tampilan terwujud umumnya digunakan untuk transformasi.

Tayangan

Semua tampilan di Azure Databricks berasal dari hasil komputasi himpunan data sumber ketika dikueri, dengan memanfaatkan pengoptimalan penembolokan saat tersedia. DLT tidak menerbitkan tampilan ke katalog, sehingga tampilan hanya dapat dirujuk dalam alur tempat tampilan 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.

Pipa

Pipeline adalah kumpulan tabel streaming dan tampilan terwujud yang diperbarui bersama-sama. Tabel streaming dan tampilan materialisasi ini dideklarasikan dalam file sumber Python atau SQL. Alur juga menyertakan konfigurasi yang menentukan komputasi yang digunakan untuk memperbarui tabel streaming dan tampilan materialisasi saat alur berjalan. Mirip dengan bagaimana templat Terraform mendefinisikan infrastruktur di akun cloud Anda, alur DLT menentukan himpunan data dan transformasi untuk pemrosesan data Anda.

Bagaimana himpunan data DLT memproses data?

Tabel berikut ini menjelaskan bagaimana materialisasi tampilan, tabel streaming, dan tampilan memproses data.

Jenis himpunan data Bagaimana rekaman diproses melalui kueri yang ditentukan?
Tabel streaming Setiap rekaman diproses tepat sekali. Ini mengasumsikan sumber yang hanya dapat ditambahkan.
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.

Mendeklarasikan himpunan data pertama Anda di DLT

DLT 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.

Nota

DLT memisahkan definisi himpunan data dari pemrosesan pembaruan, dan notebook DLT tidak ditujukan untuk eksekusi interaktif.

Bagaimana Anda mengonfigurasi alur DLT?

Pengaturan untuk alur DLT termasuk dalam dua kategori luas:

  1. Konfigurasi yang menentukan kumpulan buku catatan atau file (dikenal sebagai kode sumber) yang menggunakan sintaks DLT untuk mendeklarasikan himpunan data.
  2. 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. Ini termasuk yang berikut ini:

  • Untuk membuat data tersedia di luar pipeline, Anda harus mendeklarasikan skema target untuk diterbitkan ke metastore Hive atau katalog target dan skema target untuk diterbitkan ke Unity Catalog.
  • 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 DLT SQL dan referensi bahasa DLT Python.

Untuk informasi selengkapnya tentang pengaturan dan konfigurasi alur, lihat Mengonfigurasi alur DLT.

Terapkan alur pertama Anda dan picu pembaruan

Sebelum memproses data dengan DLT, 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 DLT, lihat Tutorial : Menjalankan alur DLT pertama Anda.

Apa itu pembaruan alur kerja?

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 dan memeriksa kesalahan analisis apa pun seperti nama kolom yang tidak valid, dependensi yang hilang, dan kesalahan sintaksis.
  • Membuat atau memperbarui 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 DLT.

Memasukkan data dengan DLT

DLT mendukung semua sumber data yang tersedia di Azure Databricks.

Databricks merekomendasikan penggunaan tabel streaming untuk sebagian besar kasus penggunaan pemrosesan data masuk. Untuk file yang tiba di penyimpanan objek cloud, Databricks merekomendasikan Auto Loader. Anda dapat langsung memasukkan data menggunakan DLT 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 DLT.

Memantau dan menerapkan kualitas data

Anda dapat menggunakan ekspektasi untuk menentukan kontrol kualitas data pada konten himpunan data. Tidak seperti batasan CHECK dalam database tradisional yang mencegah penambahan catatan apa pun yang gagal, ekspektasi memberikan fleksibilitas saat memproses data yang tidak memenuhi persyaratan kualitas data. Fleksibilitas ini memungkinkan Anda untuk memproses dan menyimpan data yang Anda harapkan berantakan dan data yang harus memenuhi persyaratan kualitas yang ketat. Lihat Mengelola kualitas data dengan ekspektasi alur.

DLT memperluas fungsionalitas Delta Lake. Karena tabel yang dibuat dan dikelola oleh DLT adalah tabel Delta, tabel tersebut memiliki jaminan dan fitur yang sama yang disediakan oleh Delta Lake. Lihat Apa itu Delta Lake?.

DLT menambahkan beberapa properti tabel selain banyak properti tabel yang dapat diatur di Delta Lake. Lihat referensi properti DLT dan referensi properti tabel Delta .

Cara tabel dibuat dan dikelola oleh DLT

Azure Databricks secara otomatis mengelola tabel yang dibuat dengan DLT, 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 DLT memproses semua pembaruan, penyisipan, dan penghapusan ke tabel target. Untuk detail dan batasan, lihat Mempertahankan penghapusan manual atau pembaruan.

tugas pemeliharaan yang dilakukan oleh DLT

DLT 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.

Tabel Langsung Delta sekarang menjadi DLT

Produk yang sebelumnya dikenal sebagai Delta Live Tables sekarang menjadi DLT.

Keterbatasan

Untuk daftar batasan, lihat Batasan DLT.

Untuk daftar persyaratan dan batasan yang khusus untuk menggunakan DLT dengan Katalog Unity, lihat Menggunakan Katalog Unity dengan alur DLT Anda

Sumber daya tambahan