Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dalam tutorial ini, Anda membuat Bundel Aset Databricks dari awal. Bundel sederhana ini terdiri dari dua notebook dan definisi pekerjaan Azure Databricks untuk menjalankan notebook ini. Anda kemudian memvalidasi, menyebarkan, dan menjalankan pekerjaan di ruang kerja Azure Databricks Anda. Langkah-langkah ini mengotomatiskan panduan memulai cepat berjudul Membuat alur kerja pertama Anda dengan Lakeflow Jobs.
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. - Autentikasi dikonfigurasi untuk Databricks CLI. Autentikasi U2M sesuai untuk mencoba langkah-langkah ini secara real time. Lihat Autentikasi untuk Databricks CLI.
- Ruang kerja jarak jauh Databricks harus memiliki file ruang kerja yang diaktifkan. Lihat Apa itu file ruang kerja?.
Langkah 1: Buat bundel
Bundel berisi artefak yang ingin Anda sebarkan dan pengaturan untuk sumber daya yang ingin Anda jalankan.
- Buat atau identifikasi direktori kosong di komputer pengembangan Anda.
- Beralih ke direktori kosong di terminal Anda atau buka di IDE Anda.
Kiat
Anda juga dapat menggunakan direktori yang berisi repositori yang dikloning dari penyedia Git. Ini memungkinkan Anda mengelola bundel dengan kontrol versi eksternal dan lebih mudah berkolaborasi dengan pengembang lain dan profesional TI pada proyek Anda.
Jika Anda memilih untuk mengkloning repositori untuk demo ini, Databricks merekomendasikan agar repositori kosong atau hanya memiliki file dasar di dalamnya seperti README dan .gitignore. Jika tidak, file apa pun yang sudah ada sebelumnya di repositori mungkin tidak perlu disinkronkan ke ruang kerja Azure Databricks Anda.
Langkah 2: Menambahkan buku catatan ke proyek
Dalam langkah ini, Anda menambahkan dua buku catatan ke proyek Anda. Notebook pertama mendapatkan daftar nama bayi yang sedang tren sejak 2007 dari sumber data publik Departemen Kesehatan Negara Bagian New York. Lihat Nama Bayi: Tren berdasarkan Nama: Mulai 2007 di situs web departemen. Notebook pertama kemudian menyimpan data ini ke volume Azure Databricks Unity Catalog Anda yang dinamai my-volume dalam skema bernama default dalam katalog bernama main. Notebook kedua mengkueri data yang disimpan dan menampilkan jumlah agregat nama bayi berdasarkan nama depan dan jenis kelamin untuk 2014.
Dari akar direktori, buat buku catatan pertama, file bernama
retrieve-baby-names.py.Tambahkan kode berikut ke file
retrieve-baby-names.py:# Databricks notebook source import requests response = requests.get('http://health.data.ny.gov/api/views/jxy9-yhdk/rows.csv') csvfile = response.content.decode('utf-8') dbutils.fs.put("/Volumes/main/default/my-volume/babynames.csv", csvfile, True)Buat buku catatan kedua, file bernama
filter-baby-names.py, di direktori yang sama.Tambahkan kode berikut ke file
filter-baby-names.py:# Databricks notebook source babynames = spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("/Volumes/main/default/my-volume/babynames.csv") babynames.createOrReplaceTempView("babynames_table") years = spark.sql("select distinct(Year) from babynames_table").toPandas()['Year'].tolist() years.sort() dbutils.widgets.dropdown("year", "2014", [str(x) for x in years]) display(babynames.filter(babynames.Year == dbutils.widgets.get("year")))
Langkah 3: Menambahkan file skema konfigurasi bundel ke proyek
Jika Anda menggunakan IDE seperti Visual Studio Code, PyCharm Professional, atau IntelliJ IDEA Ultimate yang mendukung file YAML dan file skema JSON, Anda dapat menggunakan IDE Anda untuk tidak hanya membuat file skema konfigurasi bundel tetapi juga untuk memeriksa sintaks dan pemformatan file konfigurasi bundel proyek Anda.
Visual Studio Code
Tambahkan dukungan server bahasa YAML ke Visual Studio Code, misalnya dengan menginstal ekstensi YAML dari Marketplace Visual Studio Code.
Buat file skema JSON konfigurasi Bundel Aset Databricks dengan menggunakan Databricks CLI untuk menjalankan
bundle schemaperintah dan mengalihkan output ke file JSON. Misalnya, buat file bernamabundle_config_schema.jsondi direktori saat ini, sebagai berikut:databricks bundle schema > bundle_config_schema.jsonDi Langkah 4 Anda akan menambahkan komentar berikut ke awal file konfigurasi bundel Anda, yang mengaitkan file konfigurasi bundel Anda dengan file skema JSON yang ditentukan:
# yaml-language-server: $schema=bundle_config_schema.jsonCatatan
Dalam komentar sebelumnya, jika file skema JSON konfigurasi Paket Aset Databricks Anda berada di jalur yang berbeda, ganti
bundle_config_schema.jsondengan jalur lengkap ke file skema Anda.
PyCharm Professional
Buat file skema JSON konfigurasi Bundel Aset Databricks menggunakan Databricks CLI untuk menjalankan
bundle schemaperintah dan mengalihkan output ke file JSON. Misalnya, buat file bernamabundle_config_schema.jsondi direktori saat ini, sebagai berikut:databricks bundle schema > bundle_config_schema.jsonKonfigurasikan PyCharm untuk mengenali file skema JSON konfigurasi bundel, lalu selesaikan pemetaan skema JSON, dengan mengikuti instruksi dalam Mengonfigurasi skema JSON kustom.
Di Langkah 4 Anda akan menggunakan PyCharm untuk membuat atau membuka file konfigurasi bundel. Menurut konvensi, file ini diberi nama
databricks.yml.
IntelliJ IDEA Ultimate
Buat file skema JSON konfigurasi Bundel Aset Databricks dengan menggunakan Databricks CLI untuk menjalankan
bundle schemaperintah dan mengalihkan output ke file JSON. Misalnya, buat file bernamabundle_config_schema.jsondi direktori saat ini, sebagai berikut:databricks bundle schema > bundle_config_schema.jsonKonfigurasikan IntelliJ IDEA untuk mengenali file skema JSON konfigurasi bundel, lalu selesaikan pemetaan skema JSON, dengan mengikuti instruksi dalam Mengonfigurasi skema JSON kustom.
Di Langkah 4 Anda akan menggunakan IntelliJ IDEA untuk membuat atau membuka file konfigurasi bundel. Menurut konvensi, file ini diberi nama
databricks.yml.
Langkah 4: Menambahkan file konfigurasi bundel ke proyek
Dalam langkah ini, Anda menentukan cara menyebarkan dan menjalankan dua buku catatan. Untuk demo ini, Anda ingin menggunakan pekerjaan Azure Databricks untuk menjalankan buku catatan pertama lalu buku catatan kedua. Karena buku catatan pertama menyimpan data dan buku catatan kedua mengkueri data yang disimpan, Anda ingin buku catatan pertama selesai berjalan sebelum buku catatan kedua dimulai. Anda memodelkan tujuan ini dalam file konfigurasi bundel di proyek Anda.
- Dari akar direktori, buat file konfigurasi bundel, file bernama
databricks.yml. - Tambahkan kode berikut ke
databricks.ymlfile, ganti<workspace-url>dengan URL per ruang kerja Anda, misalnyahttps://adb-1234567890123456.7.azuredatabricks.net. URL ini harus cocok dengan yang ada di file Anda.databrickscfg:
Kiat
Baris pertama, dimulai dengan # yaml-language-server, diperlukan hanya jika IDE Anda mendukungnya. Lihat Langkah 3 sebelumnya untuk detailnya.
# yaml-language-server: $schema=bundle_config_schema.json
bundle:
name: baby-names
resources:
jobs:
retrieve-filter-baby-names-job:
name: retrieve-filter-baby-names-job
job_clusters:
- job_cluster_key: common-cluster
new_cluster:
spark_version: 12.2.x-scala2.12
node_type_id: Standard_DS3_v2
num_workers: 1
tasks:
- task_key: retrieve-baby-names-task
job_cluster_key: common-cluster
notebook_task:
notebook_path: ./retrieve-baby-names.py
- task_key: filter-baby-names-task
depends_on:
- task_key: retrieve-baby-names-task
job_cluster_key: common-cluster
notebook_task:
notebook_path: ./filter-baby-names.py
targets:
development:
workspace:
host: <workspace-url>
Untuk menyesuaikan tugas, pemetaan dalam deklarasi tugas sesuai dengan payload permintaan, yang dinyatakan dalam format YAML, dari operasi pembuatan tugas sebagaimana didokumentasikan di POST /api/2.1/jobs/create dalam referensi REST API.
Kiat
Anda dapat menentukan, menggabungkan, dan mengambil alih pengaturan untuk kluster pekerjaan baru dalam bundel dengan menggunakan teknik yang dijelaskan dalam Mengambil alih dengan pengaturan target.
Langkah 5: Memvalidasi file konfigurasi bundel proyek
Dalam langkah ini, Anda memeriksa apakah konfigurasi bundel valid.
Gunakan Databricks CLI untuk menjalankan
bundle validateperintah, sebagai berikut:databricks bundle validateJika 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 6: Menyebarkan proyek lokal ke ruang kerja jarak jauh
Dalam langkah ini, Anda menyebarkan dua notebook lokal ke ruang kerja Azure Databricks jarak jauh dan membuat pekerjaan Azure Databricks di ruang kerja Anda.
Gunakan Databricks CLI untuk menjalankan
bundle deployperintah sebagai berikut:databricks bundle deploy -t developmentPeriksa apakah kedua notebook lokal sudah disebarkan: Di bar samping ruang kerja Azure Databricks Anda, klik Ruang Kerja.
Klik ke folder Pengguna>
<your-username>> .bundel > Nama-bayi > pengembangan > berkas. Dua buku catatan harus berada di folder ini.Periksa apakah tugas telah dibuat: Di bilah samping ruang kerja Azure Databricks Anda, klik Tugas dan Alur.
Secara opsional, pilih filter Pekerjaan dan Dimiliki oleh saya .
Tekan retrieve-filter-baby-names-job.
Klik tab Tugas . Harus ada dua tugas: retrieve-baby-names-task dan filter-baby-names-task.
Jika Anda membuat perubahan pada bundel setelah langkah ini, Anda harus mengulangi langkah 6-7 untuk memeriksa apakah konfigurasi bundel Anda masih valid lalu menyebarkan ulang proyek.
Langkah 7: Jalankan proyek yang telah disebarkan
Dalam langkah ini, Anda menjalankan pekerjaan Azure Databricks di ruang kerja Anda.
Gunakan Databricks CLI untuk menjalankan
bundle runperintah, sebagai berikut:databricks bundle run -t development retrieve-filter-baby-names-jobSalin nilai
Run URLyang 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 dua tugas berhasil diselesaikan dan memperlihatkan bilah judul hijau, klik tugas filter-baby-names-task untuk melihat hasil kueri.
Jika Anda membuat perubahan pada bundel setelah langkah ini, Anda harus mengulangi langkah 6-8 untuk memeriksa apakah konfigurasi bundel Anda masih valid, menyebarkan ulang proyek, dan menjalankan proyek yang disebarkan ulang.
Langkah 8: Bersihkan
Dalam langkah ini, Anda menghapus dua buku catatan yang disebarkan dan pekerjaan dari ruang kerja Anda.
Gunakan Databricks CLI untuk menjalankan
bundle destroyperintah, sebagai berikut:databricks bundle destroyKonfirmasikan permintaan penghapusan pekerjaan: Ketika diminta untuk menghancurkan sumber daya secara permanen, ketik
ydan tekanEnter.Konfirmasikan permintaan penghapusan notebook: Ketika diminta untuk menghancurkan folder yang disebarkan sebelumnya secara permanen dan semua filenya, ketik
ydan tekanEnter.
Menjalankan perintah bundle destroy hanya menghapus pekerjaan yang telah disebarkan dan folder yang berisi dua buku catatan yang telah disebarkan. Perintah ini tidak menghapus efek samping apa pun, seperti file babynames.csv yang dibuat oleh notebook pertama. Untuk menghapus babybnames.csv file, lakukan hal berikut:
- Di bilah samping ruang kerja Azure Databricks Anda, klik Katalog.
- Klik Telusuri DBFS.
- Klik folder FileStore.
- Klik panah dropdown di samping babynames.csv, dan klik Hapus.
- Jika Anda juga ingin menghapus bundel dari komputer pengembangan, Anda sekarang dapat menghapus direktori lokal dari Langkah 1.