Bagikan melalui


Mengembangkan, menjalankan, dan mengelola notebook Microsoft Fabric

Notebook Microsoft Fabric adalah item kode utama untuk mengembangkan pekerjaan Apache Spark dan eksperimen pembelajaran mesin. Ini adalah permukaan interaktif berbasis web yang digunakan oleh ilmuwan data dan insinyur data untuk menulis kode yang mendapat manfaat dari visualisasi yang kaya dan teks Markdown. Artikel ini menjelaskan cara mengembangkan buku catatan dengan operasi sel kode dan menjalankannya.

Membuat buku catatan

Notebooks terdiri dari sel, yang berupa blok individual kode atau teks yang bisa dijalankan secara independen atau sebagai grup.

Kami menyediakan beragam operasi untuk pengembangan notebook.

Tambahkan sel

Ada beberapa cara untuk menambahkan sel baru ke notebook Anda.

  1. Arahkan mouse ke ruang kosong di antara dua sel lalu pilih Kode atau Markdown.

  2. Gunakan tombol pintasan dalam mode perintah. Tekan A untuk menyisipkan sel di atas sel saat ini. Tekan B untuk menyisipkan sel di bawah sel saat ini.

Mengatur bahasa utama

Notebook Fabric saat ini mendukung empat bahasa Apache Spark:

  • PySpark (Python)
  • Spark (Scala)
  • Spark SQL
  • SparkR

Anda dapat mengatur bahasa utama untuk sel baru yang ditambahkan dari daftar drop-down di bilah perintah atas.

Menggunakan beberapa bahasa

Anda bisa menggunakan beberapa bahasa dalam buku catatan dengan menentukan perintah ajaib bahasa di awal sel. Anda juga dapat mengubah bahasa sel dari pemilih bahasa. Tabel berikut mencantumkan perintah ajaib untuk beralih bahasa sel.

Cuplikan layar memperlihatkan contoh perintah ajaib bahasa yang dimasukkan di awal sel.

Perintah ajaib Bahasa Keterangan
%%pyspark Phyton Jalankan kueri Python terhadap Konteks Apache Spark.
%%spark Scala Jalankan kueri Scala terhadap Konteks Apache Spark.
%%sql SparkSQL Jalankan kueri SparkSQL terhadap Konteks Apache Spark.
%%html Html Jalankan kueri HTML n terhadap Konteks Apache Spark.
%%sparkr R Jalankan kueri R terhadap Konteks Apache Spark.

IntelliSense ala IDE

Notebook Fabric diintegrasikan dengan editor Monaco untuk menghadirkan IntelliSense bergaya IDE ke editor sel. Sorotan sintaksis, penanda kesalahan, dan penyelesaian kode otomatis membantu Anda menulis kode dengan cepat dan mengidentifikasi masalah.

Fitur IntelliSense berada pada tingkat kematangan yang berbeda untuk bahasa pemrogram yang berbeda. Tabel berikut menunjukkan apa yang didukung Fabric:

Bahasa Penyorotan sintaksis Penanda kesalahan sintaksis Pelengkapan kode sintaks Penyelesaian kode variabel Penyelesaian kode fungsi sistem Penyelesaian kode fungsi pengguna Inden pintar Pelipatan kode
PySpark (Python) Ya Ya Ya Ya Ya Ya Ya Ya
Phyton Ya Ya Ya Ya Ya Ya Ya Ya
Spark (Scala) Ya Ya Ya Ya Ya Ya Ya Ya
SparkSQL Ya Ya Ya Ya Ya Tidak Ya Ya
SparkR Ya Ya Ya Ya Ya Ya Ya Ya
T-SQL Ya Ya Ya Tidak Ya Ya Ya Ya

Catatan

Anda harus memiliki sesi Apache Spark aktif untuk menggunakan penyelesaian kode IntelliSense.

Tingkatkan Pengembangan Python dengan Pylance

Pylance, server bahasa yang kuat dan kaya fitur, sekarang tersedia di notebook Fabric. Pylance membuat pengembangan Python lebih mudah dengan penyelesaian cerdas, deteksi kesalahan yang lebih baik, dan wawasan kode yang ditingkatkan. Peningkatan utama termasuk pelengkapan otomatis yang lebih pintar, dukungan lambda yang ditingkatkan, saran parameter, informasi hover yang lebih baik, penyajian docstring yang lebih baik, dan penyorotan kesalahan. Dengan Pylance, menulis kode Python dan PySpark menjadi lebih cepat, lebih akurat, dan lebih efisien.

Cuplikan kode

Notebook Fabric menyediakan cuplikan kode yang membantu Anda dengan mudah menulis pola kode yang umum digunakan, seperti:

  • Membaca data sebagai sebuah DataFrame Apache Spark
  • Menggambar bagan dengan Matplotlib

Cuplikan kode muncul di Tombol pintasan gaya IntelliSense IDE dicampur dengan saran lainnya. Konten cuplikan kode selaras dengan bahasa sel kode. Anda dapat melihat cuplikan yang tersedia dengan mengetik Cuplikan. Anda juga dapat mengetik kata kunci apa pun untuk melihat daftar cuplikan yang relevan. Misalnya, jika Anda mengetik baca, Anda akan melihat daftar cuplikan untuk membaca data dari berbagai sumber data.

GIF animasi cuplikan kode.

Seret dan letakkan untuk menyisipkan cuplikan

Gunakan seret dan lepas untuk membaca data dari penjelajah Lakehouse dengan nyaman. Beberapa jenis file didukung di sini; Anda dapat mengelola file teks, tabel, gambar, dan lainnya. Anda bisa memindahkan ke sel yang sudah ada atau membuat sel baru. Notebook menghasilkan cuplikan kode yang sesuai untuk mempratinjau data.

Animasi GIF seret dan lepas untuk menyisipkan potongan kode.

Seret dan letakkan untuk menyisipkan gambar

Gunakan fitur memindahkan dan melepas untuk menyisipkan gambar dengan mudah dari browser atau komputer lokal Anda ke sel Markdown.

GIF animasi seret dan letakkan untuk menyisipkan gambar.

Memformat sel teks dengan tombol bilah alat

Untuk menyelesaikan tindakan markdown umum, gunakan tombol format di toolbar sel teks.

Cuplikan layar toolbar pemformatan teks.

Membatalkan atau mengulangi kembali operasi sel

Pilih Urungkan atau Ulangi, atau tekan Z atau Shift+Z untuk membatalkan operasi sel yang terbaru. Anda dapat membatalkan atau mengulangi hingga 10 operasi sel historis terbaru.

Cuplikan layar memperlihatkan opsi menu batalkan dan ulangi.

Operasi pembatalan sel yang didukung:

  • Sisipkan atau hapus sel. Anda dapat mencabut operasi yang dihapus dengan memilih Batalkan (konten teks disimpan bersama dengan sel).
  • Susun ulang sel.
  • Alihkan parameter.
  • Konversi antara sel kode dan sel Markdown.

Catatan

Operasi teks dalam sel dan operasi pemberian komentar pada sel kode tidak dapat dibatalkan. Anda dapat membatalkan atau mengulangi hingga 10 operasi sel historis terbaru.

Memindahkan sebuah sel

Anda dapat menyeret dari bagian kosong sel dan meletakkannya ke posisi yang diinginkan.

Anda juga bisa memindahkan sel yang dipilih menggunakan Pindahkan ke atas dan Pindahkan ke bawah pada pita.

Cuplikan layar memperlihatkan opsi untuk memindahkan sel.

Menghapus sebuah sel

Untuk menghapus sel, pilih tombol hapus di sisi kanan sel.

Anda juga dapat menggunakan kunci pintasan dalam mode perintah. Tekan D,D (D dua kali) untuk menghapus sel saat ini.

Mengurangi ukuran input pada sel

Pilih elipsis perintah Lainnya (...) pada toolbar sel dan Sembunyikan input untuk menyembunyikan input sel saat ini. Untuk memperluasnya lagi, pilih Tampilkan input ketika sel dilipat.

Menyembunyikan keluaran sel

Pilih elipsis perintah Lainnya (...) pada toolbar sel dan Sembunyikan output untuk menciutkan output sel saat ini. Untuk memperluasnya lagi, pilih Tampilkan output saat output sel diciutkan.

Keamanan Output dari Sel

Anda dapat menggunakan peran akses data OneLake (pratinjau) untuk mengonfigurasi akses hanya ke folder tertentu di lakehouse saat melakukan kueri menggunakan buku catatan. Pengguna yang tidak memiliki akses ke folder atau tabel akan melihat kesalahan tidak berwenang saat eksekusi kueri.

Penting

Keamanan hanya berlaku selama eksekusi kueri. Sel buku catatan yang berisi hasil kueri dapat dilihat oleh pengguna yang tidak berwenang untuk menjalankan kueri terhadap data secara langsung.

Mengunci atau membekukan sel

Operasi penguncian dan pembekuan sel memungkinkan Anda membuat sel menjadi hanya untuk dibaca atau menghentikan eksekusi sel kode secara individual.

Animasi GIF untuk mengunci atau membekukan sel.

Gabungkan dan pisahkan sel

Anda bisa menggunakan Gabungkan dengan sel sebelumnya atau Gabungkan dengan sel berikutnya untuk menggabungkan sel terkait dengan nyaman.

Memilih Pisahkan sel membantu Anda memisahkan pernyataan yang tidak relevan ke beberapa sel. Operasi membagi kode sesuai dengan posisi baris kursor Anda.

Cuplikan layar menunjukkan entri penggabungan sel yang terpisah.

Isi notebook

Memilih Ikhtisar atau Daftar Isi menampilkan judul markdown pertama dari setiap sel markdown di panel samping untuk navigasi cepat. Bilah samping Garis Besar dapat diubah ukurannya dan diciutkan agar pas di layar secara optimal. Pilih tombol Konten pada bilah perintah buku catatan untuk membuka atau menyembunyikan bilah samping.

Cuplikan layar memperlihatkan tempat untuk memilih opsi Konten.

Penyembunyian Markdown

Opsi lipat markdown memungkinkan Anda menyembunyikan sel di bawah sel markdown yang berisi judul. Sel markdown dan sel tersembunyinya diperlakukan sama dengan sekumpulan sel multi-dipilih yang berdampingan saat melakukan operasi sel.

Animasi GIF dari pelipatan markdown.

Cari dan ganti

Opsi temukan dan ganti dapat membantu Anda mencocokkan dan menemukan kata kunci atau ekspresi dalam konten buku catatan Anda. Anda juga dapat dengan mudah mengganti string target dengan string baru.

Cuplikan layar memperlihatkan panel temukan dan ganti.

Penyelesaian kode sebaris Copilot (pratinjau)

Penyelesaian kode sebaris Copilot adalah fitur bertenaga AI yang membantu Anda menulis kode Python lebih cepat dan lebih efisien di Fabric Notebooks. Fitur ini menyediakan saran kode cerdas dan sadar konteks saat Anda mengetik kode. Ini mengurangi tugas berulang, meminimalkan kesalahan sintaksis, dan mempercepat pengembangan dengan mengintegrasikan dengan mulus ke dalam alur kerja notebook Anda.

Manfaat utama

  • Penyelesaian berbasis AI: Menghasilkan saran berdasarkan konteks buku catatan Anda menggunakan model yang dilatih pada jutaan baris kode.
  • Meningkatkan produktivitas: Membantu menulis fungsi yang kompleks, mengurangi pengkodean berulang, dan mempercepat eksplorasi pustaka yang tidak dikenal.
  • Mengurangi kesalahan: Meminimalkan kesalahan ketik dan kesalahan sintaksis dengan penyelesaian yang cerdas dan sadar konteks.
  • Penyiapan minimal: Dibangun ke dalam notebook Fabric dan tidak memerlukan penginstalan apa pun. Anda hanya dapat mengaktifkannya dan mulai mengkoding.

Cara kerjanya

Aktifkan saran kode sebaris menggunakan tombol di bagian bawah buku catatan Anda.

Cuplikan layar memperlihatkan cara mengaktifkan penyelesaian kode Copilot.

Saat Anda mengetik, saran muncul dalam teks abu-abu muda, tekan tab untuk menerima atau memodifikasi. Saran didasarkan pada sel buku catatan sebelumnya.

Cuplikan layar memperlihatkan saran kode otomatis dengan penyelesaian kode Copilot.

Catatan

Mengaktifkan penyelesaian kode sebaris Copilot mengonsumsi lebih banyak unit kapasitas.

Batasan saat ini

  • Penyelesaian Kode Inline dengan Copilot saat ini mendukung bahasa Python dan menggunakan konteks dari sel sebelumnya serta skema Lakehouse.
  • Saran mempertimbangkan data dari skema Lakehouse.
  • Hanya subset elemen skema yang digunakan ketika ada banyak tabel atau kolom.
  • Tabel yang dibuat secara dinamis (melalui Spark) tidak dikenali secara real time.

Jalankan notebook

Anda dapat menjalankan sel kode di notebook Anda satu per satu atau sekaligus. Status dan kemajuan setiap sel ditampilkan di buku catatan.

Menjalankan sel

Ada beberapa cara untuk menjalankan kode dalam sel.

  • Arahkan mouse ke sel yang ingin Anda jalankan dan pilih tombol Jalankan sel atau tekan Ctrl+Enter.

  • Gunakan tombol pintasan dalam mode perintah. Tekan Shift+Enter untuk menjalankan sel saat ini dan pilih sel berikutnya. Tekan Alt+Enter untuk menjalankan sel saat ini dan menyisipkan sel baru.

Jalankan semua sel

Pilih tombol Jalankan semua untuk menjalankan semua sel di buku catatan saat ini secara berurutan.

Jalankan seluruh sel di atas atau di bawah

Perluas daftar drop-down dari Jalankan semua, lalu pilih Jalankan sel di atas untuk menjalankan semua sel di atas saat ini secara berurutan. Pilih Jalankan sel di bawah ini untuk menjalankan sel saat ini dan semua sel di bawah saat ini secara berurutan.

Cuplikan layar memperlihatkan opsi Jalankan semua menu.

Batalkan semua sel yang aktif

Pilih Batalkan semua untuk membatalkan sel yang sedang berjalan atau sel yang menunggu dalam antrean.

Hentikan sesi

Hentikan sesi membatalkan sel yang aktif dan menunggu serta menghentikan sesi saat ini. Anda dapat memulai ulang sesi baru dengan memilih opsi jalankan lagi.

Cuplikan layar memperlihatkan tempat untuk memilih Batalkan semua eksekusi dan hentikan sesi.

Penjalankan referensi

Panduan menjalankan Notebook

Selain notebookutils reference run API, Anda juga dapat menggunakan %run <notebook name> perintah khusus untuk mereferensikan notebook lain dalam konteks notebook yang sedang aktif. Semua variabel yang ditentukan dalam notebook referensi tersedia di buku catatan saat ini. %run Perintah ajaib mendukung panggilan berlapis tetapi tidak mendukung panggilan rekursif. Anda menerima pengecualian jika kedalaman pernyataan lebih besar dari lima.

Contoh: %run Notebook1 { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }.

Referensi notebook berfungsi dalam mode interaktif dan alur pemrosesan.

Catatan

  • Perintah %run saat ini hanya mendukung buku catatan referensi di ruang kerja yang sama dengan buku catatan saat ini.
  • Perintah %run saat ini hanya mendukung hingga empat jenis nilai parameter: int, , floatbool, dan string. Operasi penggantian variabel tidak didukung.
  • Perintah %run tidak mendukung referensi berlapis dengan kedalaman lebih besar dari lima.

Referensi untuk menjalankan skrip

Perintah ini %run juga memungkinkan Anda menjalankan file Python atau SQL yang disimpan di sumber daya bawaan notebook, sehingga Anda dapat menjalankan file kode sumber anda di notebook dengan nyaman.

%run [-b/--builtin -c/--current] [script_file.py/.sql] [variables ...]

Untuk opsi:

  • -b/--builtin: Opsi ini menunjukkan bahwa perintah menemukan dan menjalankan file skrip yang ditentukan dari sumber daya bawaan notebook.
  • -c/--terkini: Opsi ini memastikan bahwa perintah selalu menggunakan sumber daya bawaan buku catatan terkini, meskipun buku catatan tersebut dirujuk oleh buku catatan lain.

Contoh:

  • Untuk menjalankan script_file.py dari sumber daya bawaan: %run -b script_file.py

  • Untuk menjalankan script_file.sql dari sumber daya bawaan: %run -b script_file.sql

  • Untuk menjalankan script_file.py dari sumber daya bawaan dengan variabel tertentu: %run -b script_file.py { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }

Catatan

Jika perintah tidak berisi -b/--builtin, perintah mencoba menemukan dan menjalankan item buku catatan di dalam ruang kerja yang sama daripada sumber daya bawaan.

Contoh penggunaan untuk kasus eksekusi bersarang:

  • Misalkan kita memiliki dua buku catatan.
    • Notebook1: Berisi script_file1.py dalam sumber daya bawaannya
    • Notebook2: Berisi script_file2.py dalam sumber daya bawaannya
  • Mari kita gunakan Notebook1 bekerja sebagai buku catatan akar dengan konten: %run Notebook2.
  • Kemudian di Notebook2 instruksi penggunaannya adalah:
    • Untuk menjalankan script_file1.py di Notebook1(Notebook akar), kodenya adalah: %run -b script_file1.py
    • Untuk menjalankan script_file2.py di Notebook2(Notebook saat ini), kodenya adalah: %run -b -c script_file2.py

Penjelajah variabel

Notebook Fabric menyediakan penjelajah variabel bawaan yang menampilkan daftar nama variabel, jenis, panjang, dan nilai dalam sesi Spark saat ini untuk sel PySpark (Python). Lebih banyak variabel muncul secara otomatis saat ditentukan dalam sel kode. Mengklik setiap header kolom mengurutkan variabel dalam tabel.

Untuk membuka atau menyembunyikan penjelajah variabel, pilih Variabel pada tampilan pita buku catatan.

Cuplikan layar memperlihatkan tempat membuka variabel.

Catatan

Penjelajah variabel hanya mendukung Python.

Indikator status Selular

Status eksekusi sel langkah demi langkah ditampilkan di bawah sel untuk membantu Anda melihat progresnya saat ini. Setelah eksekusi sel selesai, ringkasan eksekusi dengan total durasi dan waktu akhir muncul dan disimpan di sana untuk referensi di masa mendatang.

Cuplikan layar menunjukkan contoh detail status proses sel.

Indikator status sesi

Konfigurasi batas waktu sesi

Di sudut kiri bawah, Anda dapat memilih status sesi untuk mendapatkan informasi selengkapnya tentang sesi saat ini:

Cuplikan layar yang memperlihatkan Informasi Sesi.

Di pop-up, ada opsi untuk mengatur ulang batas waktu menjadi x menit atau jam.

Cuplikan layar yang memperlihatkan Batas waktu sesi.

Pilih durasi yang Anda inginkan untuk sesi yang tidak terganggu, lalu terapkan. Batas waktu sesi diatur ulang dengan nilai baru dan Anda baik-baik saja!

Anda juga dapat mengatur batas waktu seperti yang dijelaskan dalam:

Tetap masuk: Selama masuk, jika Anda melihat dialog Tetap masuk , pilih Ya untuk menonaktifkan batas waktu sesi menganggur untuk sesi Anda saat ini.

Penting

Jangan pilih kotak centang Jangan perlihatkan ini lagi , karena ini akan mengunci pengaturan masuk Anda secara permanen. Opsi ini mungkin tidak muncul jika admin penyewa Anda telah menonaktifkan pengaturan Tetap Masuk (KMSI).

Minta perubahan kebijakan: Jika Anda memerlukan durasi sesi yang lebih lama, minta admin penyewa Anda untuk memperpanjang kebijakan durasi batas waktu sesi diam. Mereka dapat melakukan ini dengan menavigasi ke Keamanan Pengaturan > Organisasi & Batas Waktu Sesi Diam Privasi > dalam Pusat Admin Microsoft 365.

Catatan

Memilih KMSI dan/atau memperpanjang waktu durasi batas waktu sesi diam memperpanjang risiko komputer yang tidak terkunci diakses.

Bagaimana ABT dan batas waktu sesi diam memengaruhi eksekusi Fabric Notebook yang berjalan lama?

Jika penyewa Anda menggunakan batas waktu berbasis aktivitas (ABT), pekerjaan interaktif yang berjalan lama di notebook Fabric mungkin terpengaruh oleh kebijakan batas waktu sesi menganggur Microsoft 365. Fitur keamanan ini dirancang untuk mengeluarkan pengguna di perangkat yang tidak aktif dan tidak dikelola, bahkan jika pekerjaan notebook masih berjalan. Meskipun aktivitas di aplikasi Microsoft 365 lainnya dapat menjaga sesi tetap hidup, perangkat diam secara otomatis keluar.

Mengapa pengguna keluar bahkan ketika pekerjaan notebook masih berjalan?

Batas waktu sesi menganggur memprioritaskan keamanan dengan mengakhiri sesi pada perangkat yang tidak aktif untuk mencegah akses yang tidak sah. Bahkan ketika eksekusi notebook sedang berlangsung, sesi berakhir jika perangkat tidak menunjukkan aktivitas. Menjaga sesi tetap terbuka pada perangkat yang tidak aktif akan membahayakan keamanan, itulah mengapa perilaku ini saat ini diterapkan.

Indikator tugas Apache Spark bawaan

Notebook Fabric berbasis Apache Spark. Sel kode dijalankan pada kluster Apache Spark dari jarak jauh. Indikator kemajuan pekerjaan Spark disediakan dengan bilah kemajuan real time yang tampaknya membantu Anda memahami status eksekusi pekerjaan. Jumlah tugas per setiap pekerjaan atau tahap membantu Anda mengidentifikasi tingkat paralel pekerjaan Spark Anda. Anda juga dapat menelusuri lebih dalam ke antarmuka pengguna Spark dari pekerjaan (atau tahap) tertentu dengan memilih tautan pada nama pekerjaan (atau tahap).

Anda juga dapat menemukan log real-time tingkat sel di samping indikator kemajuan, dan Diagnostik dapat memberi Anda saran yang berguna untuk membantu menyempurnakan dan men-debug kode.

Cuplikan layar detail kemajuan pekerjaan Spark.

Di Tindakan lainnya, Anda dapat dengan mudah menavigasi ke halaman detail aplikasi Spark dan halaman antarmuka pengguna web Spark.

Cuplikan layar detail tindakan lainnya.

Redaksi rahasia

Untuk mencegah kredensial bocor secara tidak sengaja saat menjalankan notebook, notebook Fabric mendukung penyembunyian rahasia untuk mengganti nilai rahasia yang ditampilkan pada output sel dengan [REDACTED]. Redaksi rahasia berlaku untuk Python, Scala, dan R.

Cuplikan layar redaksi rahasia.

Perintah ajaib di buku catatan

Perintah khusus tertanam

Anda dapat menggunakan perintah ajaib Ipython yang sudah dikenal di notebook Fabric. Tinjau daftar perintah ajaib yang saat ini tersedia.

Catatan

Ini adalah satu-satunya perintah ajaib yang didukung dalam alur Fabric: %%pyspark, %%spark, %%csharp, %%sql, %%configure.

Perintah ajaib baris yang tersedia: %lsmagic, %time, %timeit, %history, %run, %load, %alias, %alias_magic, %autoawait, %autocall, %automagic, %bookmark, %cd, %colors, %dhist, %dirs, %doctest_mode, %killbgscripts, %load_ext, %logoff, %logon, %logstart, %logstate, %logstop, %magic, %matplotlib, %page, %pastebin, %pdef, %pfile, %pinfo, %pinfo2, %popd, %pprint, %precision, %prun, %psearch, %psource, %pushd, %pwd, %pycat, %quickref, %rehashx, %reload_ext, %reset, %reset_selective, %sx, %system, %tb, %unalias, %unload_ext, %who, %who_ls, %whos, %xdel, %xmode.

Fabric notebook juga mendukung perintah manajemen pustaka yang ditingkatkan %pip dan %conda. Untuk informasi selengkapnya tentang penggunaan, lihat Mengelola pustaka Apache Spark di Microsoft Fabric.

Perintah magic cell yang tersedia: %%time, %%timeit, %%capture, %%writefile, %%sql, %%pyspark, %%spark, %%csharp, %%configure, %%html, %%bash, %%markdown, %%perl, %%script, %%sh.

Perintah ajaib khusus

Anda juga dapat membangun lebih banyak perintah ajaib kustom untuk memenuhi kebutuhan spesifik Anda. Berikut contohnya:

  1. Buat buku catatan dengan nama "MyLakehouseModule".

    Cuplikan layar dari menentukan sihir kustom.

  2. Di notebook lain, referensikan "MyLakehouseModule" dan perintah ajaibnya. Proses ini adalah bagaimana Anda dapat dengan mudah mengatur proyek Anda dengan buku catatan yang menggunakan bahasa yang berbeda.

    Cuplikan layar penggunaan sihir kustom.

IPython Widget

Widget IPython adalah objek Python berbasis peristiwa yang memiliki representasi di browser. Anda dapat menggunakan Widget IPython sebagai kontrol kode rendah (misalnya, slider atau kotak teks) di notebook Anda, sama seperti notebook Jupyter. Saat ini hanya berfungsi dalam konteks Python.

Untuk menggunakan Widget IPython

  1. Impor modul ipywidgets terlebih dahulu untuk menggunakan kerangka kerja Widget Jupyter.

    import ipywidgets as widgets
    
  2. Gunakan fungsi tampilan tingkat atas untuk merender widget, atau biarkan ekspresi jenis widget di baris terakhir sel kode.

    slider = widgets.IntSlider()
    display(slider)
    
  3. Jalankan sel. Widget ditampilkan di area output.

    slider = widgets.IntSlider()
    display(slider)
    

    Cuplikan layar widget yang ditampilkan di area output.

  4. Gunakan beberapa panggilan display() untuk merender instans widget yang sama beberapa kali. Mereka tetap sinkron satu sama lain.

    slider = widgets.IntSlider()
    display(slider)
    display(slider)
    

    Cuplikan layar memperlihatkan beberapa kali satu widget.

  5. Untuk merender dua widget independen dari satu sama lain, buat dua instans widget:

    slider1 = widgets.IntSlider()
    slider2 = widgets.IntSlider()
    display(slider1)
    display(slider2)
    

    Cuplikan layar memperlihatkan beberapa instance dari widget.

Widget yang didukung

Jenis widget Widget
Perangkat numerik IntSlider, FloatSlider, FloatLogSlider, IntRangeSlider, FloatRangeSlider, IntProgress, FloatProgress, BoundedIntText, BoundedFloatText, IntText, FloatText
Boolean Widget Tombol Sakelar, Kotak Centang, Valid
Widget pilihan Dropdown, TombolRadio, Pilih, PenggeserPemilihan, RentangPenggeserPemilihan, TombolToggle, PilihBanyak
Widget string Teks, Area Teks, Combobox, Kata Sandi, Label, HTML, HTML Math, Gambar, Tombol
Widget (animasi) diputar Pemilih tanggal, Pemilih warna, Pengontrol
Widget kontainer ataupun tata letak Box, HBox, VBox, GridBox, Akordion, Tab, Bertumpuk

Pembatasan yang diketahui

  • Widget berikut belum didukung. Solusi berikut tersedia:

    Fungsionalitas Solusi Sementara
    Output widget Anda dapat menggunakan fungsi print() sebagai gantinya untuk menulis teks ke stdout.
    widgets.jslink() Anda dapat menggunakan fungsi widgets.link() untuk menautkan dua widget serupa.
    Widget FileUpload Belum didukung.
  • Fungsi tampilan global Fabric tidak mendukung tampilan beberapa widget dalam satu panggilan (misalnya, display(a, b)). Perilaku ini berbeda dari fungsi tampilan IPython.

  • Jika Anda menutup notebook yang berisi widget IPython, Anda tidak dapat melihat atau berinteraksi dengannya sampai Anda menjalankan sel yang sesuai lagi.

  • Fungsi interaksi (ipywidgets.interact) tidak didukung.

Mengintegrasikan notebook

Tetapkan sebuah sel parameter

Untuk membuat parameter buku catatan Anda, pilih elipsis (...) untuk mengakses perintah Lainnya di toolbar sel. Lalu pilih Alihkan sel parameter untuk menetapkan sel sebagai sel parameter.

Cuplikan layar memperlihatkan tempat untuk memilih opsi Alihkan sel parameter.

Sel parameter berguna untuk mengintegrasikan buku catatan dalam saluran. Aktivitas pipeline mencari parameter sel dan memperlakukan sel ini sebagai default untuk parameter yang diteruskan pada waktu eksekusi. Mesin eksekusi menambahkan sel baru di bawah sel parameter yang berisi parameter input guna menimpa nilai default.

Menetapkan nilai parameter dari alur

Setelah Anda membuat notebook dengan parameter, Anda dapat menjalankannya dari alur pipeline dengan aktivitas notebook Fabric. Setelah menambahkan aktivitas ke kanvas alur, Anda dapat mengatur nilai parameter di bawah bagian Parameter dasar pada tab Pengaturan .

Cuplikan layar memperlihatkan tempat menetapkan nilai parameter dari alur.

Saat menetapkan nilai parameter, Anda dapat menggunakan bahasa ekspresi alur atau fungsi dan variabel.

Parameter notebook mendukung jenis sederhana seperti int, , float, booldan string. Jenis kompleks seperti list dan dict belum didukung. Untuk meneruskan jenis kompleks, pertimbangkan untuk menserialisasikannya ke format string (misalnya, JSON) lalu deserialisasi dalam buku catatan. Sampel berikut menunjukkan cara meneruskan string JSON dari alur ke notebook dan mendeserialisasinya:

Cuplikan layar memperlihatkan cara meneruskan string json dari alur.

Kode python berikut menunjukkan cara mendeserialisasi string JSON ke dalam kamus Python:

import json

# Deserialize the JSON string into a Python dictionary
params = json.loads(json_string)

# Access the individual parameters
param1 = params.get("param1")
param2 = params.get("param2")

Pastikan bahwa nama parameter dalam sel kode parameter cocok dengan nama parameter dalam alur.

Perintah konfigurasi sesi Spark yang bersifat ajaib

Anda dapat mempersonalisasi sesi Spark Anda dengan perintah ajaib %%configure. Notebook Fabric mendukung vCores yang disesuaikan, memori driver dan eksekutor, properti Apache Spark, titik pemasangan, kumpulan, dan lakehouse default dari sesi buku catatan. Mereka dapat digunakan dalam aktivitas notebook interaktif maupun notebook alur. Kami menyarankan agar Anda menjalankan perintah %%configure di awal buku catatan Anda, atau Anda harus memulai ulang sesi Spark agar pengaturan berlaku.

%%configure
{
    // You can get a list of valid parameters to config the session from https://github.com/cloudera/livy#request-body.
    "driverMemory": "28g", // Recommended values: ["28g", "56g", "112g", "224g", "400g"]
    "driverCores": 4, // Recommended values: [4, 8, 16, 32, 64]
    "executorMemory": "28g",
    "executorCores": 4,
    "jars": ["abfs[s]: //<file_system>@<account_name>.dfs.core.windows.net/<path>/myjar.jar", "wasb[s]: //<containername>@<accountname>.blob.core.windows.net/<path>/myjar1.jar"],
    "conf":
    {
        // Example of customized property, you can specify count of lines that Spark SQL returns by configuring "livy.rsc.sql.num-rows".
        "livy.rsc.sql.num-rows": "3000",
        "spark.log.level": "ALL"
    },
    "defaultLakehouse": {  // This overwrites the default lakehouse for current session
        "name": "<lakehouse-name>",
        "id": "<(optional) lakehouse-id>",
        "workspaceId": "<(optional) workspace-id-that-contains-the-lakehouse>" // Add workspace ID if it's from another workspace
    },
    "mountPoints": [
        {
            "mountPoint": "/myMountPoint",
            "source": "abfs[s]://<file_system>@<account_name>.dfs.core.windows.net/<path>"
        },
        {
            "mountPoint": "/myMountPoint1",
            "source": "abfs[s]://<file_system>@<account_name>.dfs.core.windows.net/<path1>"
        },
    ],
    "environment": {
        "id": "<environment-id>",
        "name": "<environment-name>"
    },
    "sessionTimeoutInSeconds": 1200,
    "useStarterPool": false,  // Set to true to force using starter pool
    "useWorkspacePool": "<workspace-pool-name>"
}

Catatan

  • Kami menyarankan agar Anda menetapkan nilai yang sama untuk "DriverMemory" dan "ExecutorMemory" di %%configure. Nilai "driverCores" dan "executorCores" juga harus sama.
  • "defaultLakehouse" akan menggantikan lakehouse yang Anda sematkan di Lakehouse Explorer, tetapi itu hanya berfungsi di sesi buku catatan saat ini.
  • Anda dapat menggunakan %%configure dalam alur Fabric, tetapi jika tidak diatur di sel kode pertama, eksekusi alur gagal karena tidak dapat memulai ulang sesi.
  • %%configure yang digunakan dalam notebookutils.notebook.run diabaikan tetapi digunakan dalam %run, buku catatan terus dijalankan.
  • Properti konfigurasi Spark standar harus digunakan dalam isi "conf". Fabric tidak mendukung referensi tingkat pertama untuk properti konfigurasi Spark.
  • Beberapa properti khusus Spark, termasuk "spark.driver.cores", "spark.executor.cores", "spark.driver.memory", "spark.executor.memory", dan "spark.executor.instances" tidak berlaku dalam bagian "conf".

Anda juga dapat menggunakan %%configure perintah ajaib untuk memasukkan nilai konfigurasi secara dinamis dari Pustaka Variabel ke dalam buku catatan Anda.

%%configure
{
  "defaultLakehouse": {
    "name": {
      "variableName": "$(/**/myVL/LHname)" 
    },
    "id": {
      "variableName": "$(/**/myVL/LHid)"
    },
    "workspaceId": {
      "variableName": "$(/**/myVL/WorkspaceId)"
    }
  }
}

Dalam contoh ini:

  • myVL adalah nama Pustaka Variabel Anda.
  • LHname, LHid, dan WorkspaceId adalah kunci variabel yang ditentukan dalam pustaka.
  • Semua variabel harus didefinisikan sebagai jenis string di perpustakaan variabel, bahkan untuk nilai GUID.
  • workspaceId diperlukan ketika lakehouse berada di ruang kerja yang berbeda dari notebook saat ini.
  • Nilai-nilai ini diselesaikan pada runtime tergantung pada lingkungan aktif (misalnya, Dev, Test, Prod).

Ini memungkinkan Anda untuk beralih konfigurasi seperti lakehouse default tanpa memodifikasi kode notebook Anda.

Konfigurasi sesi berparameter dari alur

Konfigurasi sesi berparameter memungkinkan Anda mengganti nilai dalam %%configure magic dengan parameter aktivitas notebook dalam menjalankan alur. Saat menyiapkan sel kode %%configure, Anda dapat mengganti nilai default (juga dapat dikonfigurasi, 4 dan "2000" dalam contoh di bawah) dengan objek seperti ini:

{
      "parameterName": "paramterNameInPipelineNotebookActivity",
      "defaultValue": "defaultValueIfNoParamterFromPipelineNotebookActivity"
} 
%%configure  

{ 
    "driverCores": 
    { 
        "parameterName": "driverCoresFromNotebookActivity", 
        "defaultValue": 4 
    }, 
    "conf": 
    { 
        "livy.rsc.sql.num-rows": 
        { 
            "parameterName": "rows", 
            "defaultValue": "2000" 
        } 
    } 
} 

Notebook menggunakan nilai default jika Anda menjalankannya dalam mode interaktif atau jika aktivitas notebook pipeline tidak memberikan parameter yang cocok dengan "activityParameterName."

Selama pemrosesan pipeline, Anda dapat mengonfigurasi pengaturan aktivitas notebook pipeline sebagai berikut:

Cuplikan layar memperlihatkan tempat untuk mengonfigurasi sesi berparameter.

Jika Anda ingin mengubah konfigurasi sesi, nama parameter aktivitas di notebook pipeline harus sama seperti parameterName di buku catatan. Dalam contoh menjalankan alur ini, driverCores dalam %%configure digantikan oleh 8, dan livy.rsc.sql.num-rows diganti dengan 4000.

Catatan

  • Jika eksekusi alur gagal karena Anda menggunakan perintah ajaib %%configure, temukan informasi kesalahan lainnya dengan menjalankan %%configure magic cell dalam mode interaktif notebook.
  • Eksekusi terjadwal notebook tidak mendukung konfigurasi sesi berparameter.

Pengelogan Python di buku catatan

Anda dapat menemukan log Python dan mengatur tingkat log dan format yang berbeda seperti kode sampel yang diperlihatkan di sini:

import logging

# Customize the logging format for all loggers
FORMAT = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
formatter = logging.Formatter(fmt=FORMAT)
for handler in logging.getLogger().handlers:
    handler.setFormatter(formatter)

# Customize log level for all loggers
logging.getLogger().setLevel(logging.INFO)

# Customize the log level for a specific logger
customizedLogger = logging.getLogger('customized')
customizedLogger.setLevel(logging.WARNING)

# logger that use the default global log level
defaultLogger = logging.getLogger('default')
defaultLogger.debug("default debug message")
defaultLogger.info("default info message")
defaultLogger.warning("default warning message")
defaultLogger.error("default error message")
defaultLogger.critical("default critical message")

# logger that use the customized log level
customizedLogger.debug("customized debug message")
customizedLogger.info("customized info message")
customizedLogger.warning("customized warning message")
customizedLogger.error("customized error message")
customizedLogger.critical("customized critical message")

Melihat riwayat perintah input

Fabric notebook mendukung perintah ajaib %history untuk mencetak riwayat perintah input yang dijalankan dalam sesi saat ini. Berbeda dengan perintah Jupyter Ipython standar, perintah ini %history berfungsi untuk konteks beberapa bahasa dalam notebook.

%history [-n] [range [range ...]]

Untuk opsi:

  • -n: Cetak nomor eksekusi.

Rentang tersebut dapat berupa:

  • N: Cetak kode sel ke-N yang dieksekusi.
  • M-N: Cetak kode dari Mth hingga Nth sel yang dijalankan.

Contoh:

  • Cetak riwayat input dari sel pertama hingga sel kedua yang dieksekusi: %history -n 1-2

Tombol pintasan

Mirip dengan Jupyter Notebooks, Fabric Notebooks memiliki antarmuka pengguna modal. Papan tombol melakukan hal yang berbeda tergantung pada mode mana yang digunakan sel buku catatan. Notebook Fabric mendukung dua mode berikut untuk sel kode tertentu: Mode perintah dan mode Edit.

  • Sel berada dalam mode Perintah saat tidak ada kursor teks yang meminta Anda untuk mengetik. Saat sel berada dalam mode Perintah, Anda dapat mengedit notebook secara keseluruhan tetapi tidak mengetik ke dalam sel individual. Masukkan mode Perintah dengan menekan ESC atau menggunakan mouse untuk memilih di luar area editor sel.

    Cuplikan layar sel dalam mode Perintah.

  • Mode edit dapat ditunjukkan dari kursor teks yang meminta Anda mengetik di area editor. Saat sel berada dalam mode Edit, Anda bisa mengetik ke dalam sel. Masukkan mode Edit dengan menekan Enter atau menggunakan mouse untuk memilih area editor sel.

    Cuplikan layar sel dalam mode Edit.

Tombol pintasan dalam mode perintah

Perbuatan Pintasan buku catatan
Menjalankan sel saat ini dan melakukan pemilihan di bawah ini Shift+Enter
Jalankan sel saat ini dan sisipkan di bawah Alt+Enter
Jalankan sel saat ini Ctrl+Enter (Masukkan)
Pilih sel di atas Ke atas
Pilih sel di bawah Tidak berfungsi
Memilih sel sebelumnya K
Memilih sel berikutnya J
Sisipkan sel di atas Sebuah
Sisipkan sel di bawah B
Menghapus sel yang dipilih D,D
Beralih ke mode edit Masuk

Tombol pintasan dalam mode edit

Dengan menggunakan pintasan penekanan tombol berikut, Anda dapat dengan mudah menavigasi dan menjalankan kode di notebook Fabric saat dalam mode Edit.

Perbuatan Pintasan buku catatan
Pindahkan kursor ke atas Ke atas
Memindahkan kursor ke bawah Tidak berfungsi
Batalkan Ctrl + Z
Mengulangi Ctrl + Y
Komentar atau Batalkan Komentar Ctrl + /
Komentar: Ctrl + K + C
Batalkan komentar: Ctrl + K + U
Hapus kata sebelumnya Ctrl + Backspace
Menghapus kata setelahnya Ctrl + Delete (Tombol pintas untuk menghapus secara permanen)
Lompat ke sel awal Ctrl + Beranda
Pergi ke sel akhir Ctrl + End
Pindah satu kata ke kiri Ctrl + Kiri
Pindah satu kata ke kanan Ctrl + Right Arrow
Pilih semua Ctrl + A
Inden Ctrl + ]
Deden (Dedent) Ctrl + [
Beralih ke mode perintah Esc

Untuk menemukan semua tombol pintasan, pilih Tampilkan pada pita buku catatan, lalu pilih Pengikatan kunci.