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.
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:
- Menambahkan sel
- Mengatur bahasa utama
- Menggunakan beberapa bahasa
- Menggunakan tabel sementara untuk mereferensikan data di seluruh bahasa
- Menggunakan IntelliSense bergaya IDE
- Menggunakan cuplikan kode
- Memformat sel teks dengan menggunakan tombol toolbar
- Membatalkan atau mengulangi operasi sel
- Mengomentari sel kode
- Memindahkan sel
- Menyalin sel
- Menghapus sel
- Ciutkan input sel
- Ciutkan output sel
- Menggunakan kerangka 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.
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.
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.
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:
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" )
Di sel 2, kueri data dengan menggunakan Spark SQL:
%%sql SELECT * FROM mydataframetable
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.
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.
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.
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
Pilih tombol Komentar pada toolbar buku catatan untuk membuka panel Komentar .
Pilih kode di sel kode, pilih Baru di panel Komentar , tambahkan komentar, lalu pilih tombol Posting komentar .
Jika perlu, Anda dapat melakukan edit komentar, Mengatasi utas, dan Menghapus tindakan utas dengan memilih elipsis Lainnya (...) di samping komentar Anda.
Memindahkan sel
Untuk memindahkan sel, pilih sisi kiri sel dan seret sel ke posisi yang diinginkan.
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.
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.
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.
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.
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.
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 .
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.
Membatalkan semua sel yang sedang berjalan
Untuk membatalkan sel yang sedang berjalan atau sel yang menunggu dalam antrean, pilih tombol Batalkan semua .
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
, ,float
bool
, danstring
. 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.
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.
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).
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.
Perintah magic untuk mengonfigurasi sesi Spark
Anda juga dapat menentukan pengaturan sesi Spark melalui perintah %%configure
ajaib . 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
danexecutorMemory
di%%configure
. Kami juga merekomendasikannyadriverCores
danexecutorCores
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 dimssparkutils.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.
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.
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
ipywidgets
Impor modul untuk menggunakan kerangka kerja Widget Jupyter:import ipywidgets as widgets
Gunakan fungsi tingkat
display
atas untuk merender widget, atau biarkan ekspresi jeniswidget
di baris terakhir sel kode:slider = widgets.IntSlider() display(slider)
slider = widgets.IntSlider() slider
Jalankan sel. Widget muncul di area output.
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)
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 , , FloatSlider FloatLogSlider , IntRangeSlider , FloatRangeSlider , IntProgress , FloatProgress , BoundedIntText , BoundedFloatText , , , IntText FloatText |
Boolean | ToggleButton , , Checkbox Valid |
Pilihan | Dropdown , , RadioButtons Select , SelectionSlider , SelectionRangeSlider , , ToggleButtons ,SelectMultiple |
String | Text , , Combobox Text area , Password , Label , HTML , HTML Math , , Image ,Button |
Putar (animasi) | Date picker , , Color picker Controller |
Kontainer/Tata Letak | Box , , HBox VBox , 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 dalamstdout
.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 IPythondisplay
.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.
Untuk menyimpan semua buku catatan di ruang kerja Anda, pilih tombol Terbitkan semua pada bilah perintah ruang kerja.
Pada panel Properti buku catatan, Anda dapat mengonfigurasi apakah akan 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 .
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.
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.
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 yangNth
dijalankan.M-N
: Cetak kode dari ke sel yangMth
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.
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.
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 .
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.
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.
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 |
Konten terkait
- Buku catatan sampel Synapse
- Mulai Cepat: Buatlah satu pool Apache Spark di Azure Synapse Analytics dengan menggunakan alat web
- Apa itu Apache Spark di Azure Synapse Analytics?
- Menggunakan .NET untuk Apache Spark dengan Azure Synapse Analytics
- .NET untuk dokumentasi Apache Spark
- Dokumentasi Azure Synapse Analytics