Mengembangkan alur Tabel Langsung Delta dengan Bundel Aset Databricks
Bundel Aset Databricks, juga dikenal sebagai bundel, memungkinkan Anda memvalidasi, menyebarkan, dan menjalankan sumber daya Azure Databricks secara terprogram seperti alur Tabel Langsung Delta. Lihat Apa itu Bundel Aset Databricks?.
Artikel ini menjelaskan cara membuat bundel untuk mengelola alur secara terprogram. Lihat Apa itu Tabel Langsung Delta?. Bundel dibuat menggunakan templat bundel default Bundel Aset Databricks untuk Python, yang terdiri dari buku catatan yang dipasangkan dengan definisi alur dan pekerjaan untuk menjalankannya. Anda kemudian memvalidasi, menyebarkan, dan menjalankan alur yang disebarkan di ruang kerja Azure Databricks Anda.
Tip
Jika Anda memiliki alur yang sudah ada yang dibuat menggunakan antarmuka pengguna Azure Databricks atau API yang ingin Anda pindahkan ke bundel, Anda harus menentukannya dalam file konfigurasi bundel. Databricks merekomendasikan agar Anda terlebih dahulu membuat bundel menggunakan langkah-langkah di bawah ini lalu memvalidasi apakah bundel berfungsi. Anda kemudian dapat menambahkan definisi tambahan, notebook, dan sumber lain ke bundel. Lihat Menambahkan definisi alur yang ada ke bundel.
Persyaratan
- Databricks CLI versi 0.218.0 atau lebih tinggi. Untuk memeriksa versi Databricks CLI yang diinstal, jalankan perintah
databricks -v
. Untuk menginstal Databricks CLI, lihat Menginstal atau memperbarui Databricks CLI. - Ruang kerja jarak jauh harus mengaktifkan file ruang kerja. Lihat Apa itu file ruang kerja?.
(Opsional) Menginstal modul Python untuk mendukung pengembangan alur lokal
Databricks menyediakan modul Python untuk membantu pengembangan lokal kode alur Delta Live Tables Anda dengan memberikan pemeriksaan sintaks, lengkapi otomatis, dan pemeriksaan jenis data saat Anda menulis kode di IDE Anda.
Modul Python untuk pengembangan lokal tersedia di PyPi. Untuk menginstal modul, lihat stub Python untuk Tabel Langsung Delta.
Membuat bundel menggunakan templat proyek
Buat bundel menggunakan templat bundel default Azure Databricks untuk Python. Templat ini terdiri dari buku catatan yang menentukan alur Tabel Langsung Delta, yang memfilter data dari himpunan data asli. Untuk informasi selengkapnya tentang templat bundel, lihat Templat proyek Bundel Aset Databricks.
Jika Anda ingin membuat bundel dari awal, lihat Membuat bundel secara manual.
Langkah 1: Menyiapkan autentikasi
Dalam langkah ini, Anda menyiapkan autentikasi antara Databricks CLI di komputer pengembangan dan ruang kerja Azure Databricks Anda. Artikel ini mengasumsikan bahwa Anda ingin menggunakan autentikasi pengguna-ke-mesin (U2M) OAuth dan profil konfigurasi Azure Databricks terkait bernama DEFAULT
untuk autentikasi.
Catatan
Autentikasi U2M sesuai untuk mencoba langkah-langkah ini secara real time. Untuk alur kerja yang sepenuhnya otomatis, Databricks menyarankan agar Anda menggunakan autentikasi mesin-ke-mesin (M2M) OAuth sebagai gantinya. Lihat instruksi penyiapan autentikasi M2M di Autentikasi.
Gunakan Databricks CLI untuk memulai manajemen token OAuth secara lokal dengan menjalankan perintah berikut untuk setiap ruang kerja target.
Dalam perintah berikut, ganti
<workspace-url>
dengan URL per ruang kerja Azure Databricks Anda, misalnyahttps://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --host <workspace-url>
Databricks CLI meminta Anda untuk menyimpan informasi yang Anda masukkan sebagai profil konfigurasi Azure Databricks. Tekan
Enter
untuk menerima nama profil yang disarankan, atau masukkan nama profil baru atau yang sudah ada. Profil yang ada dengan nama yang sama ditimpa dengan informasi yang Anda masukkan. Anda dapat menggunakan profil untuk mengalihkan konteks autentikasi dengan cepat di beberapa ruang kerja.Untuk mendapatkan daftar profil yang ada, di terminal atau prompt perintah terpisah, gunakan Databricks CLI untuk menjalankan perintah
databricks auth profiles
. Untuk melihat pengaturan profil tertentu yang sudah ada, jalankan perintahdatabricks auth env --profile <profile-name>
.Di browser web Anda, selesaikan instruksi di layar untuk masuk ke ruang kerja Azure Databricks Anda.
Untuk melihat nilai token OAuth profil saat ini dan tanda waktu kedaluwarsa token yang akan datang, jalankan salah satu perintah berikut:
databricks auth token --host <workspace-url>
databricks auth token -p <profile-name>
databricks auth token --host <workspace-url> -p <profile-name>
Jika Anda memiliki beberapa profil dengan nilai yang sama
--host
, Anda mungkin perlu menentukan--host
opsi dan-p
bersama-sama untuk membantu Databricks CLI menemukan informasi token OAuth yang cocok dengan benar.
Langkah 2: Buat bundel
Menginisialisasi bundel menggunakan templat proyek bundel Python default.
Gunakan terminal atau perintah Anda untuk beralih ke direktori pada komputer pengembangan lokal Anda yang akan berisi bundel templat yang dihasilkan.
Gunakan Databricks CLI untuk menjalankan
bundle init
perintah:databricks bundle init
Untuk
Template to use
, biarkan nilaidefault-python
default dengan menekanEnter
.Untuk
Unique name for this project
, biarkan nilaimy_project
default , atau ketik nilai yang berbeda, lalu tekanEnter
. Ini menentukan nama direktori akar untuk bundel ini. Direktori akar ini dibuat dalam direktori kerja Anda saat ini.Untuk
Include a stub (sample) notebook
, pilihno
dan tekanEnter
. Ini menginstruksikan CLI Databricks untuk tidak menambahkan buku catatan sampel pada saat ini, karena contoh buku catatan yang terkait dengan opsi ini tidak memiliki kode Tabel Langsung Delta di dalamnya.Untuk
Include a stub (sample) DLT pipeline
, biarkan nilaiyes
default dengan menekanEnter
. Ini menginstruksikan Databricks CLI untuk menambahkan contoh buku catatan yang memiliki kode Tabel Langsung Delta di dalamnya.Untuk
Include a stub (sample) Python package
, pilihno
dan tekanEnter
. Ini menginstruksikan Databricks CLI untuk tidak menambahkan sampel file paket roda Python atau instruksi build terkait ke bundel Anda.
Langkah 3: Jelajahi bundel
Untuk melihat file yang dihasilkan templat, beralihlah ke direktori akar bundel yang baru Dibuat. File yang menarik meliputi yang berikut ini:
databricks.yml
: File ini menentukan nama terprogram bundel, menyertakan referensi ke definisi alur, dan menentukan pengaturan tentang ruang kerja target.resources/<project-name>_job.yml
danresources/<project-name>_pipeline.yml
: File-file ini menentukan pekerjaan yang berisi tugas refresh alur, dan pengaturan alur.src/dlt_pipeline.ipynb
: File ini adalah buku catatan yang, saat dijalankan, menjalankan alur.
Untuk menyesuaikan alur, pemetaan dalam deklarasi alur sesuai dengan payload permintaan operasi buat alur seperti yang didefinisikan dalam POST /api/2.0/pipelines dalam referensi REST API, yang dinyatakan dalam format YAML.
Langkah 4: Memvalidasi file konfigurasi bundel proyek
Dalam langkah ini, Anda memeriksa apakah konfigurasi bundel valid.
Dari direktori akar, gunakan Databricks CLI untuk menjalankan
bundle validate
perintah, sebagai berikut:databricks bundle validate
Jika ringkasan konfigurasi bundel dikembalikan, maka validasi berhasil. Jika ada kesalahan yang dikembalikan, perbaiki kesalahan, lalu ulangi langkah ini.
Jika Anda membuat perubahan pada bundel setelah langkah ini, Anda harus mengulangi langkah ini untuk memeriksa apakah konfigurasi bundel Anda masih valid.
Langkah 5: Sebarkan proyek lokal ke ruang kerja jarak jauh
Dalam langkah ini, Anda menyebarkan notebook lokal ke ruang kerja Azure Databricks jarak jauh dan membuat alur Tabel Langsung Delta dalam ruang kerja Anda.
Dari akar bundel, gunakan Databricks CLI untuk menjalankan
bundle deploy
perintah sebagai berikut:databricks bundle deploy -t dev
Periksa apakah buku catatan lokal disebarkan: Di bilah samping ruang kerja Azure Databricks Anda, klik Ruang Kerja.
Klik folder src File dev .bundel> >
<project-name>
Pengguna.<your-username>
>> > > Buku catatan harus berada di folder ini.Periksa apakah alur dibuat: Di bilah samping ruang kerja Azure Databricks Anda, klik Tabel Langsung Delta.
Pada tab Tabel Langsung Delta, klik [dev
<your-username>
]<project-name>
_pipeline.
Jika Anda membuat perubahan pada bundel setelah langkah ini, Anda harus mengulangi langkah 4-5 untuk memeriksa apakah konfigurasi bundel Anda masih valid lalu menyebarkan ulang proyek.
Langkah 6: Jalankan proyek yang disebarkan
Dalam langkah ini, Anda memicu eksekusi alur Delta Live Tables di ruang kerja Anda dari baris perintah.
Dari direktori akar, gunakan Databricks CLI untuk menjalankan
bundle run
perintah, sebagai berikut, mengganti<project-name>
dengan nama proyek Anda dari Langkah 2:databricks bundle run -t dev <project-name>_pipeline
Salin nilai
Update URL
yang muncul di terminal Anda dan tempelkan nilai ini ke browser web Anda untuk membuka ruang kerja Azure Databricks Anda.Di ruang kerja Azure Databricks Anda, setelah alur berhasil diselesaikan, klik tampilan taxi_raw dan tampilan materialisasi filtered_taxis untuk melihat detailnya.
Jika Anda membuat perubahan pada bundel setelah langkah ini, Anda harus mengulangi langkah 4-6 untuk memeriksa apakah konfigurasi bundel Anda masih valid, menyebarkan ulang proyek, dan menjalankan proyek yang disebarkan ulang.
Langkah 7: Bersihkan
Dalam langkah ini, Anda menghapus buku catatan yang disebarkan dan alur dari ruang kerja Anda.
Dari direktori akar, gunakan Databricks CLI untuk menjalankan
bundle destroy
perintah, sebagai berikut:databricks bundle destroy -t dev
Konfirmasikan permintaan penghapusan alur: Ketika diminta untuk menghancurkan sumber daya secara permanen, ketik
y
dan tekanEnter
.Konfirmasikan permintaan penghapusan buku catatan: Ketika diminta untuk menghancurkan folder yang disebarkan sebelumnya secara permanen dan semua filenya, ketik
y
dan tekanEnter
.Jika Anda juga ingin menghapus bundel dari komputer pengembangan, Anda sekarang dapat menghapus direktori lokal dari Langkah 2.
Menambahkan definisi alur yang ada ke bundel
Anda dapat menggunakan definisi alur Delta Live Tables yang ada sebagai dasar untuk menentukan alur baru dalam file konfigurasi bundel. Untuk mendapatkan definisi alur yang ada, Anda dapat mengambilnya secara manual menggunakan UI, atau Anda dapat membuatnya secara terprogram menggunakan Databricks CLI.
Mendapatkan definisi alur yang sudah ada menggunakan UI
Untuk mendapatkan representasi YAML dari definisi alur yang ada dari antarmuka pengguna ruang kerja Azure Databricks:
Di bar samping ruang kerja Azure Databricks Anda, klik Alur Kerja.
Pada tab Tabel Langsung Delta, klik tautan Nama alur Anda.
Di samping tombol Pengembangan , klik kebab, lalu klik Tampilkan PENGATURAN YAML.
Salin YAML definisi alur dalam dialog YAML Pengaturan alur ke clipboard lokal Anda dengan mengklik ikon salin.
Tambahkan YAML yang Anda salin ke file bundel
databricks.yml
Anda, atau buat file konfigurasi untuk alur Anda diresources
folder proyek bundel Anda dan referensikan dari file Andadatabricks.yml
. Lihat sumber daya.Unduh dan tambahkan file dan notebook Python apa pun yang dirujuk ke sumber proyek bundel. Biasanya artefak bundel berada di
src
direktori dalam bundel.Tip
Anda bisa mengekspor buku catatan yang sudah ada dari ruang kerja Azure Databricks ke dalam
.ipynb
format dengan mengklik Ekspor > File > IPython Notebook dari antarmuka pengguna buku catatan Azure Databricks.Setelah Anda menambahkan buku catatan, file Python, dan artefak lainnya ke bundel, pastikan definisi alur Anda mereferensikannya dengan benar. Misalnya, untuk buku catatan bernama
hello.ipynb
yang ada disrc/
direktori bundel:resources: pipelines: hello-pipeline: name: hello-pipeline libraries: - notebook: path: ../src/hello.ipynb
Membuat definisi alur yang ada menggunakan Databricks CLI
Untuk menghasilkan konfigurasi bundel secara terprogram untuk alur yang ada:
Ambil ID alur yang ada dari panel samping Detail alur untuk alur di UI, atau gunakan perintah Databricks CLI
databricks pipelines list-pipelines
.Jalankan
bundle generate pipeline
perintah Databricks CLI, atur ID alur:databricks bundle generate pipeline --existing-pipeline-id 6565621249
Perintah ini membuat file konfigurasi bundel untuk alur di folder bundel
resources
dan mengunduh artefak yang dirujuk kesrc
folder.Tip
Jika Anda pertama kali menggunakan
bundle deployment bind
untuk mengikat sumber daya dalam bundel ke sumber daya di ruang kerja, sumber daya di ruang kerja diperbarui berdasarkan konfigurasi yang ditentukan dalam bundel yang terikat setelah berikutnyabundle deploy
. Untuk informasi tentangbundle deployment bind
, lihat Mengikat sumber daya bundel.