Bagikan melalui


Membuat, mengembangkan, dan memelihara buku catatan Synapse

Notebook di Azure Synapse Analytics (buku catatan Synapse) adalah antarmuka web bagi Anda untuk membuat file yang berisi kode langsung, visualisasi, dan teks naratif. Notebooks adalah tempat yang baik untuk memvalidasi ide dan menggunakan eksperimen cepat untuk mendapatkan wawasan dari data Anda. Notebook juga banyak digunakan dalam persiapan data, visualisasi data, pembelajaran mesin, dan skenario big data lainnya.

Dengan Synapse notebook, Anda dapat:

  • Memulai tanpa upaya penyiapan.
  • Membantu menjaga keamanan data dengan fitur keamanan perusahaan bawaan.
  • Menganalisis data di seluruh format mentah (seperti CSV, TXT, dan JSON), format file yang diproses (seperti Parquet, Delta Lake, dan ORC), dan file data tabular SQL terhadap Spark dan SQL.
  • Menjadi produktif dengan kemampuan penulisan dan visualisasi data bawaan yang ditingkatkan.

Artikel ini menjelaskan cara notebooks di Synapse Studio.

Membuat notebook

Anda bisa membuat buku catatan baru atau mengimpor buku catatan yang sudah ada ke ruang kerja Synapse dari Object Explorer. Pilih menu Kembangkan . Pilih tombol + dan pilih Buku Catatan atau klik kanan Buku Catatan, lalu pilih Buku catatan baru atau Impor. Synapse notebooks mengenali file Jupyter Notebook IPYNB standar.

Cuplikan layar pilihan untuk membuat atau mengimpor buku catatan.

Mengembangkan buku catatan

Notebook terdiri dari sel, yang merupakan blok kode atau teks individual yang bisa Anda jalankan secara independen atau sebagai grup.

Bagian berikut ini menjelaskan operasi untuk mengembangkan buku catatan:

Catatan

Di notebook, SparkSession instans secara otomatis dibuat untuk Anda dan disimpan dalam variabel yang disebut spark. Ada juga variabel untuk SparkContext disebut sc. Pengguna dapat mengakses variabel ini secara langsung tetapi tidak boleh mengubah nilai variabel ini.

Menambahkan sel

Ada beberapa cara untuk menambahkan sel baru ke buku catatan Anda:

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

    Cuplikan layar tombol Kode dan Markdown di buku catatan Synapse.

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

Mengatur bahasa utama

Synapse notebooks mendukung empat bahasa Apache Spark:

  • PySpark (Python)
  • Spark (Scala)
  • Spark SQL
  • .NET Spark (C#)
  • SparkR (R)

Anda dapat mengatur bahasa utama untuk sel yang baru ditambahkan dari daftar dropdown Bahasa di bilah perintah atas.

Cuplikan layar daftar dropdown untuk memilih bahasa di buku catatan Synapse.

Menggunakan beberapa bahasa

Anda dapat menggunakan beberapa bahasa dalam satu notebook dengan menentukan perintah ajaib bahasa yang benar di awal sel. Tabel berikut mencantumkan perintah ajaib untuk mengganti bahasa sel.

Perintah ajaib Bahasa Deskripsi
%%pyspark Python Jalankan kueri Python terhadap SparkContext.
%%spark Scala Jalankan kueri Scala terhadap SparkContext.
%%sql Spark SQL Jalankan kueri Spark SQL terhadap SparkContext.
%%csharp .NET untuk Spark C# Jalankan kueri .NET untuk Spark C# terhadap SparkContext.
%%sparkr R Jalankan kueri R terhadap SparkContext.

Gambar berikut ini memperlihatkan contoh bagaimana Anda bisa menulis kueri PySpark dengan menggunakan %%pyspark perintah ajaib atau kueri Spark SQL dengan menggunakan %%sql perintah ajaib di buku catatan Spark (Scala). Bahasa utama untuk buku catatan diatur ke PySpark.

Cuplikan layar perintah sihir Spark di buku catatan Synapse.

Menggunakan tabel sementara untuk mereferensikan data di seluruh bahasa

Anda tidak dapat mereferensikan data atau variabel secara langsung di berbagai bahasa dalam buku catatan Synapse. Di Spark, Anda dapat mereferensikan tabel sementara di seluruh bahasa. Berikut adalah contoh cara membaca Scala DataFrame di PySpark dan Spark SQL dengan menggunakan tabel sementara Spark sebagai solusinya:

  1. Di sel 1, baca DataFrame dari konektor kumpulan SQL dengan menggunakan Scala dan buat tabel sementara:

    %%spark
    val scalaDataFrame = spark.read.sqlanalytics("mySQLPoolDatabase.dbo.mySQLPoolTable")
    scalaDataFrame.createOrReplaceTempView( "mydataframetable" )
    
  2. Di sel 2, kueri data dengan menggunakan Spark SQL:

    %%sql
    SELECT * FROM mydataframetable
    
  3. Di sel 3, gunakan data di PySpark:

    %%pyspark
    myNewPythonDataFrame = spark.sql("SELECT * FROM mydataframetable")
    

Menggunakan IntelliSense bergaya IDE

Notebook terintegrasi dengan editor Monaco untuk menghadirkan IntelliSense bergaya IDE ke editor sel. Fitur sorotan sintaks, penanda kesalahan, dan penyelesaian kode otomatis membantu Anda menulis kode dan mengidentifikasi masalah lebih cepat.

Fitur IntelliSense berada pada tingkat kematangan yang berbeda untuk bahasa pemrogram yang berbeda. Gunakan tabel berikut ini untuk melihat apa yang didukung.

Bahasa Sorotan sintaks Penanda kesalahan sintaksis Penyelesaian 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
Spark (Scala) Ya Ya Ya Ya Ya Ya No Ya
Spark SQL Ya Ya Ya Ya Ya No No Tidak
.NET untuk Spark (C#) Ya Ya Ya Ya Ya Ya Ya Ya

Sesi Spark aktif diperlukan untuk mendapatkan manfaat dari penyelesaian kode variabel, penyelesaian kode fungsi sistem, dan penyelesaian kode fungsi pengguna untuk .NET untuk Spark (C#).

Menggunakan cuplikan kode

Synapse notebook menyediakan cuplikan kode yang memudahkan untuk memasukkan pola kode yang umum digunakan. Pola-pola ini termasuk mengonfigurasi sesi Spark Anda, membaca data sebagai Spark DataFrame, dan menggambar bagan dengan menggunakan Matplotlib.

Cuplikan muncul di kunci pintasan IntelliSense bergaya IDE yang dicampur dengan saran lainnya. Konten cuplikan kode selaras dengan bahasa sel kode. Anda dapat melihat cuplikan yang tersedia dengan memasukkan cuplikan atau kata kunci apa pun yang muncul di judul cuplikan di editor sel kode. Misalnya, dengan memasukkan baca, Anda dapat melihat daftar cuplikan untuk membaca data dari berbagai sumber data.

ANIMASI GIF cuplikan kode dalam buku catatan Synapse.

Memformat sel teks dengan menggunakan tombol toolbar

Anda dapat menggunakan tombol format pada toolbar sel teks untuk melakukan tindakan Markdown umum. Tindakan ini termasuk membuat teks tebal, membuat teks miring, membuat paragraf dan judul melalui menu dropdown, menyisipkan kode, menyisipkan daftar yang tidak diurutkan, menyisipkan daftar yang diurutkan, menyisipkan hyperlink, dan menyisipkan gambar dari URL.

Cuplikan layar toolbar sel teks di buku catatan Synapse.

Membatalkan atau mengulangi operasi sel

Untuk mencabut operasi sel terbaru, pilih tombol Batalkan atau Ulangi , atau pilih tombol Z atau Shift+Z. Sekarang Anda dapat membatalkan atau mengulangi hingga 10 operasi sel historis.

Cuplikan layar tombol Urungkan dan Ulangi di buku catatan Synapse.

Operasi sel yang didukung meliputi:

  • Menyisipkan atau menghapus sel. Anda dapat mencabut operasi penghapusan dengan memilih Batalkan. Tindakan ini menyimpan konten teks bersama dengan sel.
  • Menyusun ulang sel.
  • Aktifkan atau nonaktifkan sel parameter.
  • Konversi antara sel kode dan sel Markdown.

Catatan

Anda tidak dapat mengurungkan operasi teks atau operasi komentar dalam sel.

Mengomentari sel kode

  1. Pilih tombol Komentar pada toolbar buku catatan untuk membuka panel Komentar .

    Cuplikan layar tombol Komentar dan panel Komentar di buku catatan Synapse.

  2. Pilih kode di sel kode, pilih Baru di panel Komentar , tambahkan komentar, lalu pilih tombol Posting komentar .

    Cuplikan layar kotak untuk memasukkan komentar di buku catatan Synapse.

  3. Jika perlu, Anda dapat melakukan edit komentar, Mengatasi utas, dan Menghapus tindakan utas dengan memilih elipsis Lainnya (...) di samping komentar Anda.

    Cuplikan layar perintah tambahan untuk sel kode di buku catatan Synapse.

Memindahkan sel

Untuk memindahkan sel, pilih sisi kiri sel dan seret sel ke posisi yang diinginkan.

GIF animasi memindahkan sel dalam buku catatan Synapse.

Menyalin sel

Untuk menyalin sel, pertama-tama buat sel baru, lalu pilih semua teks di sel asli Anda, salin teks, dan tempelkan teks ke sel baru. Saat sel Anda dalam mode edit, pintasan keyboard tradisional untuk memilih semua teks dibatasi pada sel.

Tip

Notebook Synapse juga menyediakan cuplikan pola kode yang umum digunakan.

Menghapus sel

Untuk menghapus sel, pilih tombol Hapus di sebelah kanan sel.

Anda juga dapat menggunakan kunci pintasan dalam mode perintah. Pilih Shift+D untuk menghapus sel saat ini.

Cuplikan layar tombol untuk menghapus sel di buku catatan Synapse.

Ciutkan input sel

Untuk menciutkan input sel saat ini, pilih elipsis Perintah lainnya (...) pada toolbar sel, lalu pilih Sembunyikan input. Untuk memperluas input, pilih Tampilkan input saat sel diciutkan.

GIF animasi menciutkan dan memperluas input sel di buku catatan Synapse.

Ciutkan output sel

Untuk menciutkan output sel saat ini, pilih elipsis Perintah lainnya (...) pada toolbar sel, lalu pilih Sembunyikan output. Untuk memperluas output, pilih Tampilkan output saat output sel disembunyikan.

GIF animasi menciutkan dan memperluas output sel dalam buku catatan Synapse.

Menggunakan kerangka buku catatan

Kerangka (daftar isi) menyajikan header Markdown pertama dari sel Markdown apa pun di jendela bilah samping untuk navigasi cepat. Bilah samping kerangka dapat diubah ukurannya dan dapat diciutkan agar sesuai dengan layar dengan cara terbaik. Untuk membuka atau menyembunyikan bilah samping, pilih tombol Kerangka pada bilah perintah buku catatan.

Cuplikan layar bilah samping kerangka di buku catatan Synapse.

Jalankan notebook

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

Catatan

Menghapus buku catatan tidak secara otomatis membatalkan pekerjaan apa pun yang saat ini sedang berjalan. Jika Anda perlu membatalkan pekerjaan, buka hub Monitor dan batalkan secara manual.

Menjalankan satu Sel

Ada beberapa cara untuk menjalankan kode dalam sel:

  • Arahkan mouse ke atas sel yang ingin Anda jalankan, lalu pilih tombol Jalankan sel atau pilih Ctrl+Enter.

    Cuplikan layar perintah untuk menjalankan sel di buku catatan Synapse.

  • Gunakan tombol pintasan dalam mode perintah. Pilih Shift+Enter untuk menjalankan sel saat ini dan pilih sel di bawahnya. Pilih Alt+Enter untuk menjalankan sel saat ini dan sisipkan sel baru di bawahnya.

Menjalankan semua sel

Untuk menjalankan semua sel di buku catatan saat ini secara berurutan, pilih tombol Jalankan semua .

Cuplikan layar tombol untuk menjalankan semua sel dalam buku catatan Synapse.

Jalankan semua sel di atas atau di bawah

Untuk menjalankan semua sel di atas sel saat ini secara berurutan, perluas daftar dropdown untuk tombol Jalankan semua , lalu pilih Jalankan sel di atas. Pilih Jalankan sel di bawah ini untuk menjalankan semua sel di bawah sel saat ini secara berurutan.

Cuplikan layar perintah untuk menjalankan sel di atas dan di bawah sel saat ini dalam buku catatan Synapse.

Membatalkan semua sel yang sedang berjalan

Untuk membatalkan sel yang sedang berjalan atau sel yang menunggu dalam antrean, pilih tombol Batalkan semua .

Cuplikan layar tombol untuk membatalkan semua sel yang sedang berjalan atau menunggu di buku catatan Synapse.

Mereferensikan buku catatan

Untuk mereferensikan buku catatan lain dalam konteks buku catatan saat ini, gunakan %run <notebook path> perintah ajaib. Semua variabel yang ditentukan dalam notebook referensi tersedia di buku catatan saat ini.

Berikut contohnya:

%run /<path>/Notebook1 { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }

Referensi notebook berfungsi dalam mode interaktif dan alur.

%run Perintah ajaib memiliki batasan ini:

  • Perintah ini mendukung panggilan berlapis tetapi bukan panggilan rekursif.
  • Perintah ini mendukung meneruskan jalur absolut atau nama buku catatan hanya sebagai parameter. Ini tidak mendukung jalur relatif.
  • Perintah saat ini hanya mendukung empat jenis nilai parameter: int, , floatbool, dan string. Ini tidak mendukung operasi penggantian variabel.
  • Buku catatan yang direferensikan harus diterbitkan. Anda perlu menerbitkan buku catatan untuk mereferensikannya, kecuali Anda memilih opsi untuk mengaktifkan referensi buku catatan yang tidak diterbitkan. Synapse Studio tidak mengenali notebook yang tidak diterbitkan dari repositori Git.
  • Notebook yang dirujuk tidak mendukung kedalaman pernyataan yang lebih besar dari lima.

Menggunakan penjelajah variabel

Notebook Synapse menyediakan penjelajah variabel bawaan dalam bentuk tabel yang mencantumkan variabel dalam sesi Spark saat ini untuk sel PySpark (Python). Tabel menyertakan kolom untuk nama variabel, jenis, panjang, dan nilai. Lebih banyak variabel muncul secara otomatis saat ditentukan dalam sel kode. Memilih setiap header kolom mengurutkan variabel dalam tabel.

Untuk membuka atau menyembunyikan penjelajah variabel, pilih tombol Variabel pada bilah perintah buku catatan.

Cuplikan layar penjelajah variabel di buku catatan Synapse.

Catatan

Penjelajah variabel hanya mendukung Python.

Menggunakan indikator status sel

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

Cuplikan layar ringkasan sel yang dijalankan di buku catatan Synapse.

Menggunakan indikator kemajuan Spark

Notebook Synapse murni berbasis Spark. Sel kode berjalan pada kumpulan Apache Spark tanpa server dari jarak jauh. Indikator kemajuan pekerjaan Spark dengan bilah kemajuan real time membantu Anda memahami status eksekusi pekerjaan.

Jumlah tugas untuk 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).

Cuplikan layar indikator kemajuan Spark di buku catatan Synapse.

Mengonfigurasi sesi Spark

Pada panel Konfigurasi sesi , yang bisa Anda temukan dengan memilih ikon gerigi di bagian atas buku catatan, Anda bisa menentukan durasi batas waktu, jumlah pelaksana, dan ukuran pelaksana untuk diberikan ke sesi Spark saat ini. Mulai ulang sesi Spark agar perubahan konfigurasi diterapkan. Semua variabel buku catatan yang ditembolok dibersihkan.

Anda juga dapat membuat konfigurasi dari konfigurasi Apache Spark atau memilih konfigurasi yang ada. Untuk detailnya, lihat Mengelola konfigurasi Apache Spark.

Cuplikan layar panel untuk mengonfigurasi sesi di buku catatan Synapse.

Perintah magic untuk mengonfigurasi sesi Spark

Anda juga dapat menentukan pengaturan sesi Spark melalui perintah %%configureajaib . Untuk membuat pengaturan berlaku, mulai ulang sesi Spark.

Kami menyarankan agar Anda menjalankan %%configure di awal buku catatan Anda. Berikut sampelnya. Untuk daftar lengkap parameter yang valid, lihat informasi Livy di GitHub.

%%configure
{
    //You can get a list of valid parameters to configure the session from https://github.com/cloudera/livy#request-body.
    "driverMemory":"28g", // Recommended values: ["28g", "56g", "112g", "224g", "400g", "472g"]
    "driverCores":4, // Recommended values: [4, 8, 16, 32, 64, 80]
    "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 a standard Spark property. To find more available properties, go to https://spark.apache.org/docs/latest/configuration.html#application-properties.
        "spark.driver.maxResultSize":"10g",
    //Example of a customized property. You can specify the count of lines that Spark SQL returns by configuring "livy.rsc.sql.num-rows".
        "livy.rsc.sql.num-rows":"3000" 
    }
}

Berikut adalah beberapa pertimbangan untuk %%configure perintah ajaib:

  • Kami menyarankan agar Anda menggunakan nilai yang sama untuk driverMemory dan executorMemory di %%configure. Kami juga merekomendasikannya driverCores dan executorCores memiliki nilai yang sama.
  • Anda dapat menggunakan %%configure dalam alur Synapse, tetapi jika Anda tidak mengaturnya di sel kode pertama, eksekusi alur akan gagal karena tidak dapat memulai ulang sesi.
  • Perintah %%configure yang digunakan di mssparkutils.notebook.run diabaikan, tetapi perintah yang digunakan %run <notebook> dalam terus berjalan.
  • Anda harus menggunakan properti konfigurasi Spark standar dalam isi "conf" . Kami tidak mendukung referensi tingkat pertama untuk properti konfigurasi Spark.
  • Beberapa properti Spark khusus tidak akan berlaku dalam "conf" tubuh, termasuk "spark.driver.cores", , "spark.executor.cores""spark.driver.memory", "spark.executor.memory", dan "spark.executor.instances".

Konfigurasi sesi berparameter dari alur

Anda dapat menggunakan konfigurasi sesi berparameter untuk mengganti nilai dalam %%configure perintah ajaib dengan parameter eksekusi alur (aktivitas notebook). Saat menyiapkan %%configure sel kode, Anda dapat mengambil alih nilai default dengan menggunakan objek seperti ini:

{
      "activityParameterName": "paramterNameInPipelineNotebookActivity",
      "defaultValue": "defaultValueIfNoParamterFromPipelineNotebookActivity"
} 

Contoh berikut menunjukkan nilai 4 default dan "2000", yang juga dapat dikonfigurasi:

%%configure  

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

Notebook menggunakan nilai default jika Anda menjalankan buku catatan dalam mode interaktif secara langsung atau jika aktivitas notebook alur tidak menyediakan parameter yang cocok "activityParameterName".

Selama mode eksekusi alur, Anda bisa menggunakan tab Pengaturan untuk mengonfigurasi pengaturan untuk aktivitas buku catatan alur.

Cuplikan layar konfigurasi sesi berparameter dalam buku catatan Synapse.

Jika Anda ingin mengubah konfigurasi sesi, nama parameter aktivitas buku catatan alur harus sama seperti activityParameterName di buku catatan. Dalam contoh ini, selama eksekusi alur, 8 menggantikan driverCores dalam %%configure, dan 4000 menggantikan livy.rsc.sql.num-rows.

Jika eksekusi alur gagal setelah Anda menggunakan %%configure perintah ajaib, Anda bisa mendapatkan lebih banyak informasi kesalahan dengan menjalankan %%configure sel ajaib dalam mode interaktif buku catatan.

Membawa data ke buku catatan

Anda dapat memuat data dari kumpulan Azure Data Lake Storage Gen 2, Azure Blob Storage, dan SQL, seperti yang ditunjukkan dalam sampel kode berikut.

Membaca file CSV dari Azure Data Lake Storage Gen2 sebagai Spark DataFrame

from pyspark.sql import SparkSession
from pyspark.sql.types import *
account_name = "Your account name"
container_name = "Your container name"
relative_path = "Your path"
adls_path = 'abfss://%s@%s.dfs.core.windows.net/%s' % (container_name, account_name, relative_path)

df1 = spark.read.option('header', 'true') \
                .option('delimiter', ',') \
                .csv(adls_path + '/Testfile.csv')

Membaca file CSV dari Azure Blob Storage sebagai Spark DataFrame


from pyspark.sql import SparkSession

# Azure storage access info
blob_account_name = 'Your account name' # replace with your blob name
blob_container_name = 'Your container name' # replace with your container name
blob_relative_path = 'Your path' # replace with your relative folder path
linked_service_name = 'Your linked service name' # replace with your linked service name

blob_sas_token = mssparkutils.credentials.getConnectionStringOrCreds(linked_service_name)

# Allow Spark to access from Azure Blob Storage remotely

wasb_path = 'wasbs://%s@%s.blob.core.windows.net/%s' % (blob_container_name, blob_account_name, blob_relative_path)

spark.conf.set('fs.azure.sas.%s.%s.blob.core.windows.net' % (blob_container_name, blob_account_name), blob_sas_token)
print('Remote blob path: ' + wasb_path)

df = spark.read.option("header", "true") \
            .option("delimiter","|") \
            .schema(schema) \
            .csv(wasbs_path)

Membaca data dari akun penyimpanan utama

Anda dapat mengakses data di akun penyimpanan utama secara langsung. Tidak perlu menyediakan kunci rahasia. Di Data Explorer, klik kanan file dan pilih Buku catatan baru untuk melihat buku catatan baru dengan ekstraktor data yang dibuat secara otomatis.

Cuplikan layar yang memperlihatkan pembukaan tabel Spark baru untuk mengakses data file di Azure Synapse Analytics.

Menggunakan widget IPython

Widget adalah objek Python eventful yang memiliki representasi di browser, seringkali sebagai kontrol seperti pengguncur atau kotak teks. Widget IPython hanya berfungsi di lingkungan Python. Mereka saat ini tidak didukung dalam bahasa lain (misalnya, Scala, SQL, atau C#).

Langkah-langkah untuk menggunakan widget IPython

  1. ipywidgets Impor modul untuk menggunakan kerangka kerja Widget Jupyter:

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

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

    Cuplikan layar penggeser widget IPython di notebook Synapse.

Anda dapat menggunakan beberapa display() panggilan untuk merender instans widget yang sama beberapa kali, tetapi tetap sinkron satu sama lain:

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

Cuplikan layar beberapa penggeser widget IPython di notebook Synapse.

Untuk merender dua widget yang independen satu sama lain, buat dua instans widget:

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

Widget yang didukung

Jenis widget Widget
Numerik IntSlider, , FloatSliderFloatLogSlider, IntRangeSlider, FloatRangeSlider, IntProgress, FloatProgress, BoundedIntText, BoundedFloatText, , , IntTextFloatText
Boolean ToggleButton, , CheckboxValid
Pilihan Dropdown, , RadioButtonsSelect, SelectionSlider, SelectionRangeSlider, , ToggleButtons,SelectMultiple
String Text, , ComboboxText area, Password, Label, HTML, HTML Math, , Image,Button
Putar (animasi) Date picker, , Color pickerController
Kontainer/Tata Letak Box, , HBoxVBox, GridBox, Accordion, , Tabs,Stacked

Pembatasan yang diketahui

  • Tabel berikut ini mencantumkan widget yang saat ini tidak didukung, bersama dengan solusinya:

    Fungsi Solusi Sementara
    Widget Output Anda dapat menggunakan fungsi sebagai gantinya print() untuk menulis teks ke dalam stdout.
    widgets.jslink() Anda dapat menggunakan fungsi untuk menautkan widgets.link() dua widget serupa.
    Widget FileUpload Tidak ada yang tersedia.
  • Fungsi global display yang disediakan Azure Synapse Analytics tidak mendukung penayangan beberapa widget dalam satu panggilan (yaitu, display(a, b)). Perilaku ini berbeda dari fungsi IPython display .

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

Menyimpan notebook

Anda bisa menyimpan satu buku catatan atau semua buku catatan di ruang kerja Anda:

  • Untuk menyimpan perubahan yang Anda buat pada satu buku catatan, pilih tombol Terbitkan pada bilah perintah buku catatan.

    Cuplikan layar tombol untuk menerbitkan perubahan pada buku catatan Synapse.

  • Untuk menyimpan semua buku catatan di ruang kerja Anda, pilih tombol Terbitkan semua pada bilah perintah ruang kerja.

    Cuplikan layar tombol untuk menerbitkan perubahan pada semua buku catatan di ruang kerja Synapse.

Pada panel Properti buku catatan, Anda dapat mengonfigurasi apakah akan menyertakan output sel saat menyimpan.

Cuplikan layar properti notebook Synapse dan kotak centang untuk menyertakan output sel saat menyimpan.

Menggunakan perintah ajaib

Anda dapat menggunakan perintah ajaib Jupyter yang umum digunakan di Synapse notebooks. Tinjau daftar perintah ajaib yang saat ini tersedia. Beri tahu kami kasus penggunaan Anda di GitHub sehingga kami dapat terus membuat lebih banyak perintah ajaib untuk memenuhi kebutuhan Anda.

Catatan

Hanya perintah ajaib berikut yang didukung dalam alur Synapse: %%pyspark, , %%spark, %%csharp%%sql.

Perintah ajaib yang tersedia untuk baris:

%lsmagic, , %time%timeit, %history, , %run,%load

Perintah ajaib yang tersedia untuk sel:

%%time, , %%timeit%%capture, %%writefile, %%sql, %%pyspark, %%spark, %%csharp, , %%html,%%configure

Mereferensikan buku catatan yang tidak diterbitkan

Mereferensikan buku catatan yang tidak diterbitkan sangat membantu saat Anda ingin men-debug secara lokal. Saat Anda mengaktifkan fitur ini, eksekusi buku catatan mengambil konten saat ini di cache web. Jika Anda menjalankan sel yang menyertakan pernyataan buku catatan referensi, Anda mereferensikan buku catatan penyajian di browser buku catatan saat ini alih-alih versi tersimpan dalam kluster. Buku catatan lain dapat mereferensikan perubahan di editor buku catatan Anda tanpa mengharuskan Anda menerbitkan (Mode langsung) atau menerapkan (mode Git) perubahan. Dengan menggunakan pendekatan ini, Anda dapat mencegah polusi pustaka umum selama proses pengembangan atau penelusuran kesalahan.

Anda bisa mengaktifkan referensi buku catatan yang tidak diterbitkan dengan memilih kotak centang yang sesuai pada panel Properti .

Cuplikan layar kotak centang untuk mengaktifkan referensi buku catatan Synapse yang tidak diterbitkan.

Tabel berikut membandingkan kasus. Meskipun %run dan mssparkutils.notebook.run memiliki perilaku yang sama di sini, tabel menggunakan %run sebagai contoh.

Case Nonaktifkan Aktifkan
Mode langsung
Nb1 (diterbitkan)
%run Nb1
Menjalankan versi Nb1 yang diterbitkan Menjalankan versi Nb1 yang diterbitkan
Nb1 (baru)
%run Nb1
Kesalahan Menjalankan Nb1 baru
Nb1 (sebelumnya diterbitkan, diedit)
%run Nb1
Menjalankan versi Nb1 yang diterbitkan Menjalankan versi Nb1 yang diedit
Mode Git
Nb1 (diterbitkan)
%run Nb1
Menjalankan versi Nb1 yang diterbitkan Menjalankan versi Nb1 yang diterbitkan
Nb1 (baru)
%run Nb1
Kesalahan Menjalankan Nb1 baru
Nb1 (tidak diterbitkan, diterapkan)
%run Nb1
Kesalahan Menjalankan Nb1 yang dialokasikan
Nb1 (sebelumnya diterbitkan, diterapkan)
%run Nb1
Menjalankan versi Nb1 yang diterbitkan Menjalankan versi Nb1 yang dialokasikan
Nb1 (sebelumnya diterbitkan, baru di cabang saat ini)
%run Nb1
Menjalankan versi Nb1 yang diterbitkan Menjalankan Nb1 baru
Nb1 (tidak diterbitkan, sebelumnya diterapkan, diedit)
%run Nb1
Kesalahan Menjalankan versi Nb1 yang diedit
Nb1 (sebelumnya diterbitkan dan diterapkan, diedit)
%run Nb1
Menjalankan versi Nb1 yang diterbitkan Menjalankan versi Nb1 yang diedit

Singkatnya:

  • Jika Anda menonaktifkan referensi buku catatan yang tidak diterbitkan, selalu jalankan versi yang diterbitkan .
  • Jika Anda mengaktifkan referensi buku catatan yang tidak diterbitkan, eksekusi referensi selalu mengadopsi versi buku catatan saat ini yang muncul di UX buku catatan.

Mengelola sesi aktif

Anda bisa menggunakan kembali sesi buku catatan Anda tanpa harus memulai sesi baru. Di buku catatan Synapse, Anda bisa mengelola sesi aktif Anda dalam satu daftar. Untuk membuka daftar, pilih elipsis (...), lalu pilih Kelola sesi.

Cuplikan layar pilihan untuk membuka daftar sesi buku catatan Synapse aktif.

Panel Sesi aktif mencantumkan semua sesi di ruang kerja saat ini yang Anda mulai dari buku catatan. Daftar ini memperlihatkan informasi sesi dan buku catatan terkait. Tindakan Lepaskan dengan buku catatan, Hentikan sesi, dan Tampilkan dalam pemantauan tersedia di sini. Selain itu, Anda bisa menyambungkan buku catatan yang Anda pilih ke sesi aktif yang dimulai dari buku catatan lain. Sesi kemudian dilepas dari buku catatan sebelumnya (jika tidak menganggur) dan dilampirkan ke buku catatan saat ini.

Cuplikan layar panel untuk sesi aktif di ruang kerja Synapse.

Menggunakan log Python dalam buku catatan

Anda dapat menemukan log Python dan mengatur tingkat dan format log yang berbeda dengan menggunakan kode sampel berikut:

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 the 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 uses 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 uses 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

Notebook Synapse mendukung perintah %history ajaib untuk mencetak riwayat perintah input untuk sesi saat ini. %history Perintah ajaib mirip dengan perintah Jupyter IPython standar dan berfungsi untuk beberapa konteks bahasa dalam buku catatan.

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

Dalam kode sebelumnya, -n adalah nomor eksekusi cetak. Nilainya range dapat berupa:

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

Misalnya, untuk mencetak riwayat input dari sel pertama hingga kedua yang dijalankan, gunakan %history -n 1-2.

Mengintegrasikan notebook

Menambahkan notebook ke alur

Untuk menambahkan buku catatan ke alur yang sudah ada atau untuk membuat alur baru, pilih tombol Tambahkan ke alur di sudut kanan atas.

Cuplikan layar opsi menu untuk menambahkan buku catatan ke alur Synapse yang sudah ada atau baru.

Menunjuk sel parameter

Untuk membuat parameter buku catatan Anda, pilih elipsis (...) untuk mengakses lebih banyak perintah pada toolbar sel. Lalu pilih Alihkan sel parameter untuk menunjuk sel sebagai sel parameter.

Cuplikan layar opsi menu untuk menunjuk sel sebagai sel parameter.

Azure Data Factory mencari sel parameter dan memperlakukan sel ini sebagai default untuk parameter yang diteruskan pada waktu eksekusi. Mesin eksekusi menambahkan sel baru di bawah sel parameter dengan parameter input untuk menimpa nilai default.

Menetapkan nilai parameter dari alur

Setelah membuat buku catatan dengan parameter, Anda bisa menjalankannya dari alur dengan menggunakan aktivitas buku catatan Synapse. Setelah menambahkan aktivitas ke kanvas alur, Anda dapat mengatur nilai parameter di bagian Parameter dasar pada tab Pengaturan .

Cuplikan layar area untuk menetapkan parameter di Azure Synapse Analytics.

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

Menggunakan tombol pintasan

Mirip dengan Jupyter Notebooks, Synapse notebooks memiliki antarmuka pengguna modal. Keyboard melakukan hal yang berbeda, tergantung pada mode mana sel buku catatan berada. Buku catatan Synapse mendukung dua mode berikut untuk sel kode:

  • Mode perintah: Sel berada dalam mode perintah saat tidak ada kursor teks yang meminta Anda untuk mengetik. Saat sel berada dalam mode perintah, Anda bisa mengedit buku catatan secara keseluruhan tetapi tidak mengetik ke dalam sel individual. Masukkan mode perintah dengan memilih tombol Esc atau dengan menggunakan mouse untuk memilih di luar area editor sel.

    Cuplikan layar mode perintah dalam buku catatan Synapse.

  • Mode edit: Saat sel berada dalam mode edit, kursor teks akan meminta Anda mengetik dalam sel. Masukkan mode edit dengan memilih tombol Enter atau dengan menggunakan mouse untuk memilih area editor sel.

    Cuplikan layar mode edit di buku catatan Synapse.

Tombol pintasan dalam mode perintah

Perbuatan Pintasan buku catatan Synapse
Menjalankan sel saat ini dan memilih sel di bawah Shift+Enter
Menjalankan sel saat ini dan menyisipkan di bawah Alt+Enter
Menjalankan sel saat ini Ctrl+Enter
Memilih sel di atas Naik
Memilih sel di bawah Tidak berfungsi
Memilih sel sebelumnya K
Memilih sel berikutnya J
Menyisipkan sel di atas A
Menyisipkan sel di bawah B
Menghapus sel yang dipilih Shift+D
Beralih ke mode edit Enter

Tombol pintasan dalam mode edit

Perbuatan Pintasan buku catatan Synapse
Memindahkan kursor ke atas Naik
Memindahkan kursor ke bawah Tidak berfungsi
Undo Ctrl+Z
Mengulangi Ctrl+Y
Komentar/Batalkan komentar Ctrl+/
Menghapus kata sebelumnya Ctrl+Backspace
Menghapus kata setelahnya Ctrl+Hapus
Lompat ke sel awal Ctrl+Home
Lompat ke sel akhir Ctrl+End
Ke satu kata ke sebelah kiri Ctrl+Kiri
Pergi satu kata ke kanan Ctrl+Kanan
Pilih semua Ctrl+A
Inden Ctrl+]
Deden (Dedent) Ctrl+[
Beralih ke mode perintah Esc