Bagikan melalui


Mengembangkan kode di buku catatan Databricks

Halaman ini menjelaskan cara mengembangkan kode di buku catatan Databricks, termasuk pelengkapan otomatis, pemformatan otomatis untuk Python dan SQL, menggabungkan Python dan SQL dalam buku catatan, dan melacak riwayat versi notebook.

Untuk detail selengkapnya tentang fungsionalitas tingkat lanjut yang tersedia dengan editor, seperti pelengkapan otomatis, pemilihan variabel, dukungan multi-kursor, dan diff berdampingan, lihat Menggunakan buku catatan Databricks dan editor file.

Saat Anda menggunakan notebook atau editor file, Asisten Databricks tersedia untuk membantu Anda membuat, menjelaskan, dan men-debug kode. Lihat Menggunakan Asisten Databricks untuk informasi selengkapnya.

Notebook Databricks juga menyertakan debugger interaktif bawaan untuk notebook Python. Lihat Menggunakan debugger interaktif Databricks.

Dapatkan bantuan pengkodian dari Asisten Databricks

Asisten Databricks adalah asisten AI sadar konteks yang dapat Anda berinteraksi dengan menggunakan antarmuka percakapan, membuat Anda lebih produktif di dalam Databricks. Anda dapat menjelaskan tugas Anda dalam bahasa Inggris dan membiarkan asisten menghasilkan kode Python atau kueri SQL, menjelaskan kode kompleks, dan secara otomatis memperbaiki kesalahan. Asisten menggunakan metadata Unity Catalog untuk memahami tabel, kolom, deskripsi, dan aset data populer Anda di seluruh perusahaan Anda untuk memberikan respons yang dipersonalisasi.

Asisten Databricks dapat membantu Anda dengan tugas-tugas berikut:

  • Buat kode.
  • Kode debug, termasuk mengidentifikasi dan menyarankan perbaikan untuk kesalahan.
  • Mengubah dan mengoptimalkan kode.
  • Jelaskan kode.
  • Membantu Anda menemukan informasi yang relevan dalam dokumentasi Azure Databricks.

Untuk informasi tentang menggunakan Asisten Databricks untuk membantu Anda membuat kode secara lebih efisien, lihat Menggunakan Asisten Databricks. Untuk informasi umum tentang Asisten Databricks, lihat Fitur yang didukung DatabricksIQ.

Mengakses buku catatan untuk pengeditan

Untuk membuka buku catatan, gunakan fungsi Pencarian ruang kerja atau gunakan browser ruang kerja untuk menavigasi ke buku catatan dan klik nama atau ikon buku catatan.

Telusuri data

Gunakan browser skema untuk menjelajahi objek Katalog Unity yang tersedia untuk buku catatan. Klik ikon data buku catatan di sisi kiri buku catatan untuk membuka browser skema.

Tombol Untuk Anda hanya menampilkan objek yang telah Anda gunakan dalam sesi saat ini atau yang sebelumnya ditandai sebagai Favorit.

Saat Anda mengetik teks ke dalam kotak Filter , tampilan berubah untuk memperlihatkan hanya objek yang berisi teks yang Anda ketik. Hanya objek yang saat ini terbuka atau telah dibuka dalam sesi saat ini yang muncul. Kotak Filter tidak melakukan pencarian lengkap katalog, skema, tabel, dan volume yang tersedia untuk buku catatan.

Untuk membuka Menu kebab menu kebab, arahkan kursor ke atas nama objek seperti yang ditunjukkan:

menu kebab di browser skema

Jika objek adalah tabel, Anda bisa melakukan hal berikut:

  • Buat dan jalankan sel secara otomatis untuk menampilkan pratinjau data dalam tabel. Pilih Pratinjau di sel baru dari menu kebab untuk tabel.
  • Menampilkan katalog, skema, atau tabel di Catalog Explorer. Pilih Buka di Catalog Explorer dari menu kebab. Tab baru terbuka memperlihatkan objek yang dipilih.
  • Dapatkan jalur ke katalog, skema, atau tabel. Pilih Salin ... jalur dari menu kebab untuk objek.
  • Tambahkan tabel ke Favorit. Pilih Tambahkan ke favorit dari menu kebab untuk tabel.

Jika objek adalah katalog, skema, atau volume, Anda dapat menyalin jalur objek atau membukanya di Catalog Explorer.

Untuk menyisipkan nama tabel atau kolom langsung ke dalam sel:

  1. Klik kursor Anda di sel di lokasi yang ingin Anda masukkan namanya.
  2. Pindahkan kursor Anda ke atas nama tabel atau nama kolom di browser skema.
  3. Klik panah panah gandaganda yang muncul di sebelah kanan nama objek.

Pintasan keyboard

Untuk menampilkan pintasan keyboard, pilih Bantuan > Pintasan keyboard. Pintasan keyboard yang tersedia bergantung pada apakah kursor berada dalam sel kode (mode edit) atau tidak (mode perintah).

Mencari dan mengganti teks

Untuk mencari dan mengganti teks di dalam buku catatan, pilih Edit > Cari dan Ganti. Kecocokan saat ini disorot dengan warna oranye dan semua kecocokan lainnya disorot dengan warna kuning.

Mencocokkan teks

Untuk mengganti kecocokan saat ini, klik Ganti. Untuk mengganti semua kecocokan di buku catatan, klik Ganti Semua.

Untuk berpindah di antara kecocokan, klik tombol Sebelumnya dan Berikutnya. Anda juga dapat menekan shift +enter dan enter masing-masing untuk berpindah ke kecocokan sebelumnya dan berikutnya.

Untuk menutup alat temukan dan ganti, klik Hapus Ikon atau tekan esc.

Penjelajah variabel

Anda dapat langsung mengamati variabel Python, Scala, dan R di UI notebook. Untuk Python pada Databricks Runtime 12.2 LTS ke atas, variabel diperbarui saat sel berjalan. Untuk Scala, R, dan untuk Python pada Databricks Runtime 11.3 LTS dan di bawahnya, variabel diperbarui setelah sel selesai berjalan.

Untuk membuka penjelajah variabel, klik ikon penjelajah variabel di bilah samping kanan. Penjelajah variabel terbuka, memperlihatkan nilai dan jenis data, termasuk bentuk, untuk setiap variabel yang saat ini ditentukan dalam buku catatan. (Bentuk kerangka data PySpark adalah '?', karena menghitung bentuk bisa mahal secara komputasi.)

Untuk memfilter tampilan, masukkan teks ke dalam kotak pencarian. Daftar secara otomatis difilter saat Anda mengetik.

Nilai variabel diperbarui secara otomatis saat Anda menjalankan sel buku catatan.

contoh panel penjelajah variabel

Jalankan sel terpilih

Anda dapat menjalankan sel tunggal atau kumpulan sel. Untuk memilih sel tunggal, klik di mana saja dalam sel. Untuk memilih beberapa sel, tahan Command tombol di MacOS atau Ctrl tombol di Windows, dan klik sel di luar area teks seperti yang ditunjukkan pada cuplikan layar.

cara memilih beberapa sel

Untuk menjalankan sel yang dipilih, pilih Jalankan Jalankan > sel yang dipilih.

Perilaku perintah ini tergantung pada kluster tempat buku catatan dilampirkan.

  • Pada kluster yang menjalankan Databricks Runtime 13.3 LTS atau di bawahnya, sel yang dipilih dijalankan satu per satu. Jika terjadi kesalahan dalam sel, eksekusi berlanjut dengan sel berikutnya.
  • Pada kluster yang menjalankan Databricks Runtime 14.0 atau lebih tinggi, atau pada gudang SQL, sel yang dipilih dijalankan sebagai batch. Kesalahan apa pun menghentikan eksekusi, dan Anda tidak dapat membatalkan eksekusi sel individual. Anda dapat menggunakan tombol Interupsi untuk menghentikan eksekusi semua sel.

Memodulasi kode Anda

Penting

Fitur ini ada di Pratinjau Publik.

Dengan Databricks Runtime 11.3 LTS ke atas, Anda dapat membuat dan mengelola file kode sumber di ruang kerja Azure Databricks, lalu mengimpor file-file ini ke buku catatan Anda sesuai kebutuhan.

Untuk informasi selengkapnya tentang bekerja dengan file kode sumber, lihat Berbagi kode antara notebook Databricks dan Bekerja dengan modul Python dan R.

Jalankan teks yang dipilih

Anda bisa menyoroti kode atau pernyataan SQL di sel buku catatan dan hanya menjalankan pilihan tersebut. Ini berguna ketika Anda ingin dengan cepat melakukan iterasi pada kode dan kueri.

  1. Sorot baris yang ingin Anda jalankan.

  2. Pilih Jalankan Jalankan > teks yang dipilih atau gunakan pintasanEnterCtrl+Shift+ keyboard . Jika tidak ada teks yang disorot, Jalankan Teks Terpilih akan menjalankan baris saat ini.

    jalankan baris terpilih

Jika Anda menggunakan bahasa campuran dalam sel, Anda harus menyertakan %<language> baris dalam pilihan.

Jalankan teks yang dipilih juga menjalankan kode yang diciutkan, jika ada dalam pilihan yang disorot.

Perintah sel khusus seperti %run, %pip, dan %sh didukung.

Anda tidak dapat menggunakan Jalankan teks terpilih pada sel yang memiliki beberapa tab output (yaitu, sel tempat Anda menentukan profil data atau visualisasi).

Memformat sel kode

Azure Databricks menyediakan alat yang memungkinkan Anda memformat kode Python dan SQL di sel notebook dengan cepat dan mudah. Alat-alat ini memudahkan Anda untuk mempertahankan format kode dan membantu menegakkan standar pengkodean yang sama di seluruh buku catatan Anda.

Pustaka formatter hitam Python

Penting

Fitur ini ada di Pratinjau Publik.

Azure Databricks mendukung pemformatan kode Python menggunakan warna hitam dalam buku catatan. Notebook harus dilampirkan ke kluster dengan black paket Python dan tokenize-rt terinstal.

Pada Databricks Runtime 11.3 LTS ke atas, Azure Databricks telah menginstal black dan tokenize-rt. Anda dapat menggunakan formatter secara langsung tanpa perlu menginstal pustaka ini.

Pada Databricks Runtime 10.4 LTS ke bawah, Anda harus menginstal black==22.3.0 dan tokenize-rt==4.2.1 dari PyPI di notebook atau kluster Anda untuk menggunakan formatter Python. Anda bisa menjalankan perintah berikut ini di buku catatan Anda:

%pip install black==22.3.0 tokenize-rt==4.2.1

atau instal pustaka di kluster Anda.

Untuk detail selengkapnya tentang menginstal pustaka, lihat Manajemen lingkungan Python.

Untuk file dan notebook di folder Databricks Git, Anda dapat mengonfigurasi formatter Python berdasarkan pyproject.toml file. Untuk menggunakan fitur ini, buat pyproject.toml file di direktori akar folder Git dan konfigurasikan sesuai dengan format konfigurasi Black. Edit bagian [tool.black] dalam file. Konfigurasi diterapkan saat Anda memformat file dan buku catatan apa pun di folder Git tersebut.

Cara memformat sel Python dan SQL

Anda harus memiliki izin BISA MENGEDIT pada buku catatan untuk memformat kode.

Azure Databricks menggunakan pustaka Gethue/sql-formatter untuk memformat SQL dan formatter kode hitam untuk Python.

Anda dapat memicu pemformat dengan cara berikut:

  • Memformat sel tunggal

    • Pintasan papan ketik: Tekan Cmd+Shift+F.
    • Menu konteks perintah:
      • Format sel SQL: Pilih Format SQL di menu dropdown konteks perintah sel SQL. Item menu ini hanya terlihat di sel notebook SQL atau yang memiliki %sqlsihir bahasa.
      • Format sel Python: Pilih Format Python di menu dropdown konteks perintah sel Python. Item menu ini hanya terlihat di sel buku catatan Python atau yang memiliki %pythonsihir bahasa.
    • Menu Edit Buku Catatan: Pilih sel Python atau SQL, lalu pilih Edit > Format Sel.
  • Memformat beberapa sel

    Pilih beberapa sel lalu pilih Edit > Format Sel. Jika Anda memilih sel lebih dari satu bahasa, hanya sel SQL dan Python yang diformat. Ini termasuk yang menggunakan %sql dan %python.

  • Memformat semua sel Python dan SQL di buku catatan

    Pilih Edit > Format Buku Catatan. Jika buku catatan Anda berisi lebih dari satu bahasa, hanya sel SQL dan Python yang diformat. Ini termasuk yang menggunakan %sql dan %python.

Batasan pemformatan kode

  • Hitam memberlakukan standar PEP 8 untuk indentasi 4 ruang. Indentasi tidak dapat dikonfigurasi.
  • Pemformatan string Python yang disematkan di dalam SQL UDF tidak didukung. Demikian pula, pemformatan string SQL di dalam UDF Python tidak didukung.

Riwayat versi

Notebook Azure Databricks mempertahankan riwayat versi buku catatan, memungkinkan Anda menampilkan dan memulihkan rekam jepret buku catatan sebelumnya. Anda dapat melakukan tindakan berikut pada versi: menambahkan komentar, memulihkan dan menghapus versi, dan menghapus riwayat versi.

Anda juga dapat menyinkronkan pekerjaan Anda di Databricks dengan repositori Git jarak jauh.

Untuk mengakses versi buku catatan, klik ikon riwayat versi di bilah samping kanan. Riwayat versi buku catatan muncul. Anda juga dapat memilih Riwayat Versi File>.

Menambahkan komentar

Untuk menambahkan komentar ke versi terbaru:

  1. Klik versi.

  2. Klik Simpan sekarang.

    Menyimpan komentar

  3. Dalam dialog Simpan Versi Buku Catatan, masukkan komentar.

  4. Klik Simpan. Versi buku catatan disimpan dengan komentar yang dimasukkan.

Memulihkan versi

Untuk memulihkan versi:

  1. Klik versi.

  2. Klik Pulihkan versi ini.

    Pulihkan versi

  3. Klik Konfirmasi. Versi yang dipilih menjadi versi terbaru buku catatan.

Menghapus versi

Untuk menghapus entri versi:

  1. Klik versi.

  2. Klik ikon Keranjang Sampahsampah .

    Hapus versi

  3. Klik Ya, hapus. Versi yang dipilih dihapus dari riwayat.

Menghapus riwayat versi

Riwayat versi tidak dapat dipulihkan setelah dihapus.

Untuk menghapus riwayat versi untuk buku catatan:

  1. Pilih Riwayat versi Hapus File>.
  2. Klik Ya, bersihkan. Riwayat versi buku catatan dibersihkan.

Bahasa kode dalam buku catatan

Mengatur bahasa default

Bahasa default untuk buku catatan muncul di samping nama buku catatan.

Bahasa default notebook

Untuk mengubah bahasa default, klik tombol bahasa dan pilih bahasa baru dari menu dropdown. Untuk memastikan bahwa perintah yang ada terus berfungsi, perintah dari bahasa default sebelumnya secara otomatis diawali dengan bahasa pemrogram ajaib bahasa.

Mencampur bahasa

Secara default, sel menggunakan bahasa default buku catatan. Anda dapat mengambil alih bahasa default dalam sel dengan mengklik tombol bahasa dan memilih bahasa dari menu dropdown.

Menu drop-down bahasa sel

Sebagai alternatif, Anda dapat menggunakan perintah ajaib bahasa pemrogram %<language> di awal sel. Perintah ajaib yang didukung adalah: %python, %r, %scala, dan %sql.

Catatan

Saat Anda memanggil perintah ajaib bahasa pemrogram, perintah dikirim ke REPL dalam konteks eksekusi untuk buku catatan. Variabel yang didefinisikan dalam satu bahasa pemrogram (dan karenanya di REPL untuk bahasa pemrogram itu) tidak tersedia dalam REPL bahasa pemrogram lain. REPL hanya dapat berbagi status melalui sumber daya eksternal seperti file di DBFS atau objek dalam penyimpanan objek.

Notebook juga mendukung beberapa perintah ajaib tambahan:

  • %sh: Memungkinkan Anda menjalankan kode shell di buku catatan Anda. Untuk menggagalkan sel jika perintah shell memiliki status keluar tidak nol, tambahkan opsi -e. Perintah ini hanya berjalan pada driver Apache Spark, dan bukan pekerja. Untuk menjalankan perintah shell di semua node, gunakan skrip init.
  • %fs: Memungkinkan Anda menggunakan perintah sistem file dbutils. Misalnya, untuk menjalankan perintah dbutils.fs.ls untuk membuat daftar file, Anda dapat menentukan %fs ls sebagai gantinya. Untuk informasi selengkapnya, lihat Bekerja dengan file di Azure Databricks.
  • %md: Memungkinkan Anda menyertakan berbagai jenis dokumentasi, termasuk teks, gambar, dan rumus serta persamaan matematika. Lihat bagian selanjutnya.

Penyorotan sintaksis SQL dan pelengkapan otomatis dalam perintah Python

Penyorotan sintaks dan pelengkapan otomatis SQL tersedia saat Anda menggunakan SQL di dalam perintah Python, seperti dalam spark.sql perintah.

Menjelajahi hasil sel SQL di buku catatan Python menggunakan Python

Anda mungkin ingin memuat data menggunakan SQL dan menjelajahinya menggunakan Python. Dalam buku catatan Databricks Python, hasil tabel dari sel bahasa SQL secara otomatis tersedia sebagai Python DataFrame yang ditetapkan ke variabel _sqldf.

Dalam Databricks Runtime 13.3 LTS ke atas, Anda juga dapat mengakses hasil DataFrame menggunakan sistem penembolokan output IPython. Penghitung perintah muncul dalam pesan output yang ditampilkan di bagian bawah hasil sel. Untuk contoh yang ditampilkan, Anda akan mereferensikan hasilnya sebagai Out[2].

Catatan

  • Variabel _sqldf dapat ditetapkan ulang setiap kali %sql sel dijalankan. Untuk menghindari kehilangan referensi ke hasil DataFrame, tetapkan ke nama variabel baru sebelum Anda menjalankan sel berikutnya %sql :

    new_dataframe_name = _sqldf
    
  • Jika kueri menggunakan widget untuk parameterisasi, hasilnya tidak tersedia sebagai Python DataFrame.

  • Jika kueri menggunakan kata kunci CACHE TABLE atau UNCACHE TABLE, hasilnya tidak tersedia sebagai Python DataFrame.

Cuplikan layar menunjukkan contoh:

dataframe hasil sql

Menjalankan sel SQL secara paralel

Saat perintah berjalan dan buku catatan Anda dilampirkan ke kluster interaktif, Anda bisa menjalankan sel SQL secara bersamaan dengan perintah saat ini. Sel SQL dijalankan dalam sesi paralel baru.

Untuk menjalankan sel secara paralel:

  1. Jalankan sel.

  2. Klik Jalankan Sekarang. Sel segera dijalankan.

    Menjalankan sel SQL secara paralel dengan sel yang sedang berjalan saat ini

Karena sel dijalankan dalam sesi baru, tampilan sementara, UDF, dan Python DataFrame implisit (_sqldf) tidak didukung untuk sel yang dijalankan secara paralel. Selain itu, katalog default dan nama database digunakan selama eksekusi paralel. Jika kode Anda mengacu pada tabel dalam katalog atau database yang berbeda, Anda harus menentukan nama tabel menggunakan namespace tiga tingkat (catalog.schema.table).

Menjalankan sel SQL pada gudang SQL

Anda dapat menjalankan perintah SQL di notebook Databricks di gudang SQL, jenis komputasi yang dioptimalkan untuk analitik SQL. Lihat Menggunakan buku catatan dengan gudang SQL.

Menampilkan gambar

Untuk menampilkan gambar yang disimpan di FileStore, gunakan sintaks berikut:

%md
![test](files/image.png)

Misalnya, jika Anda memiliki file gambar logo Databricks di FileStore:

dbfs ls dbfs:/FileStore/
databricks-logo-mobile.png

Saat Anda menyertakan kode berikut dalam sel Markdown:

Gambar di sel Markdown

gambar dirender dalam sel:

Gambar yang dirender

Menampilkan persamaan matematika

Buku catatan mendukung KaTeX untuk menampilkan rumus dan persamaan matematika. Contohnya,

%md
\\(c = \\pm\\sqrt{a^2 + b^2} \\)

\\(A{_i}{_j}=B{_i}{_j}\\)

$$c = \\pm\\sqrt{a^2 + b^2}$$

\\[A{_i}{_j}=B{_i}{_j}\\]

render sebagai:

Persamaan 1 yang dirender

dan

%md
\\( f(\beta)= -Y_t^T X_t \beta + \sum log( 1+{e}^{X_t\bullet\beta}) + \frac{1}{2}\delta^t S_t^{-1}\delta\\)

where \\(\delta=(\beta - \mu_{t-1})\\)

render sebagai:

Persamaan 2 yang dirender

Menyertakan HTML

Anda dapat menyertakan HTML di buku catatan dengan menggunakan fungsi displayHTML. Lihat HTML, D3, dan SVG di buku catatan untuk contoh cara melakukan tindakan ini.

Catatan

iframe displayHTML disajikan dari domain databricksusercontent.com dan kotak pasir iframe mencakup atribut allow-same-origin. databricksusercontent.com harus dapat diakses dari browser Anda. Jika saat ini diblokir oleh jaringan perusahaan Anda, ia harus ditambahkan ke daftar yang diizinkan.

Anda dapat menautkan ke buku catatan atau folder lain di sel Markdown menggunakan jalur relatif. Tentukan atribut href tag jangkar sebagai jalur relatif, dimulai dengan $ dan kemudian ikuti pola yang sama seperti pada sistem file Unix:

%md
<a href="$./myNotebook">Link to notebook in same folder as current notebook</a>
<a href="$../myFolder">Link to folder in parent folder of current notebook</a>
<a href="$./myFolder2/myNotebook2">Link to nested notebook</a>