Membuat, mengembangkan, dan memelihara Synapse notebooks di Azure Synapse Analytics
Synapse notebooks adalah antarmuka web 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. Notebooks juga banyak digunakan dalam persiapan data, visualisasi data, pembelajaran mesin, dan skenario Big Data lainnya.
Dengan Synapse notebook, Anda dapat:
- Memulai dengan mudah.
- Menjaga keamanan data dengan fitur keamanan perusahaan bawaan.
- Menganalisis data dalam format mentah (CSV, txt, JSON, dll.), format file yang telah diproses (parket, Delta Lake, ORC, dll.), dan file data tabular SQL terhadap Spark dan SQL.
- Menjadi produktif dengan kemampuan penulisan yang ditingkatkan dan visualisasi data bawaan.
Artikel ini menjelaskan cara notebooks di Synapse Studio.
Membuat buku catatan
Ada dua cara untuk membuat notebook. Anda bisa membuat notebook baru atau mengimpor notebook yang sudah ada ke ruang kerja Synapse dari Object Explorer. Synapse notebooks mengenali file Jupyter Notebook IPYNB standar.
Mengembangkan notebooks
Notebooks terdiri dari sel, yang berupa blok individual kode atau teks yang bisa dijalankan secara independen atau sebagai grup.
Kami menyediakan operasi yang kaya untuk mengembangkan notebook:
- Menambahkan sel
- Mengatur bahasa utama
- Menggunakan beberapa bahasa
- Menggunakan tabel sementara untuk mereferensikan data lintas bahasa
- IntelliSense bergaya IDE
- Cuplikan Kode
- Memformat sel teks dengan tombol bilah alat
- Membatalkan operasi sel
- Komentar sel kode
- Memindahkan sel
- Menghapus sel
- Menciutkan input sel
- Menciutkan output sel
- Kerangka notebook
Catatan
Di notebook, ada SparkSession yang secara otomatis dibuat untuk Anda, disimpan dalam variabel yang disebut spark
. Juga ada variabel untuk SparkContext yang disebut sc
. Pengguna dapat mengakses variabel ini secara langsung dan tidak boleh mengubah nilai variabel ini.
Menambahkan sel
Ada beberapa cara untuk menambahkan sel baru ke notebook Anda.
Arahkan mouse ke ruang kosong di antara dua sel lalu pilih Kode atau Markdown.
Menggunakan tombol Pintasan aznb di bagian 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
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 baru yang ditambahkan dari daftar dropdown di bilah perintah bagian 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 | Menjalankan kueri Python terhadap Spark Context. |
%%spark | Scala | Menjalankan kueri Scala terhadap Spark Context. |
%%sql | SparkSQL | Menjalankan kueri SparkSQL terhadap Spark Context. |
%%csharp | .NET untuk Spark C# | Jalankan kueri .NET untuk Spark C# terhadap Spark Context. |
%%sparkr | R | Jalankan kueri R terhadap Konteks Spark. |
Gambar berikut adalah contoh bagaimana Anda dapat menulis kueri PySpark menggunakan perintah ajaib %%pyspark atau kueri SparkSQL dengan perintah ajaib %%sql di notebook Spark(Scala) . Perhatikan bahwa bahasa utama untuk notebook diatur ke pySpark.
Menggunakan tabel sementara untuk mereferensikan data lintas bahasa
Anda tidak dapat mereferensikan data atau variabel secara langsung di berbagai bahasa di notebook Synapse. Di Spark, tabel sementara dapat direferensikan di lintas bahasa. Berikut adalah contoh cara membaca Scala
DataFrame in PySpark
dan SparkSQL
menggunakan tabel sementara Spark sebagai solusinya.
Di Sel 1, baca DataFrame dari konektor kumpulan SQL menggunakan Scala dan buat tabel sementara.
%%spark val scalaDataFrame = spark.read.sqlanalytics("mySQLPoolDatabase.dbo.mySQLPoolTable") scalaDataFrame.createOrReplaceTempView( "mydataframetable" )
Di Sel 2, kueri data menggunakan Spark SQL.
%%sql SELECT * FROM mydataframetable
Di Sel 3, gunakan data di PySpark.
%%pyspark myNewPythonDataFrame = spark.sql("SELECT * FROM mydataframetable")
IntelliSense bergaya IDE
Notebook terintegrasi dengan editor Monaco untuk menghadirkan IntelliSense bergaya IDE ke editor sel. 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 yang berbeda. Gunakan tabel berikut ini untuk melihat apa yang didukung.
Bahasa | Penyorotan Sintaksis | Penanda Galat Sintaksis | Penyelesaian Kode Sintaks | Penyelesaian Kode Variabel | Penyelesaian Kode Fungsi Sistem | Penyelesaian Kode Fungsi Pengguna | Inden Cerdas | Pelipatan Kode |
---|---|---|---|---|---|---|---|---|
PySpark (Python) | Ya | Ya | Ya | Ya | Ya | Ya | Ya | Ya |
Spark (Scala) | Ya | Ya | Ya | Ya | Ya | Ya | - | Ya |
SparkSQL | Ya | Ya | Ya | Ya | Ya | - | - | - |
.NET untuk Spark (C#) | Ya | Ya | Ya | Ya | Ya | Ya | Ya | Ya |
Catatan
Sesi Spark aktif diperlukan agar dapat memanfaatkan Penyelesaian Kode Variabel, Penyelesaian Kode Fungsi Sistem, Penyelesaian Kode Fungsi Pengguna untuk .NET untuk Spark (C#).
Cuplikan Kode
Notebook Synapse menyediakan cuplikan kode yang memudahkan untuk memasukkan pola kode yang umum digunakan, seperti mengonfigurasi sesi Spark Anda, membaca data sebagai Spark DataFrame, atau menggambar bagan dengan matplotlib dll.
Cuplikan muncul di Kunci pintasan gaya IDE IntelliSense bercampur dengan saran lain. Cuplikan kode konten sejajar dengan bahasa sel kode. Anda dapat melihat cuplikan yang tersedia dengan mengetik Cuplikan atau kata kunci apa pun yang muncul di judul cuplikan di editor sel kode. Misalnya, dengan mengetikbaca, Anda dapat melihat daftar cuplikan untuk membaca data dari berbagai sumber data.
Memformat sel teks dengan tombol bilah alat
Anda dapat menggunakan tombol format di toolbar sel teks untuk melakukan tindakan markdown umum. Ini termasuk teks tebal, teks miring, paragraf/header melalui dropdown, menyisipkan kode, menyisipkan daftar yang tidak berurutan, menyisipkan daftar yang diurutkan, menyisipkan hyperlink dan menyisipkan gambar dari URL.
Membatalkan/Mengulangi operasi sel
Pilih tombol Urungkan / Ulangi atau tekan Z / Shift+Z untuk mencabut operasi sel terbaru. Sekarang Anda dapat membatalkan/mengulang hingga 10 operasi sel historis terbaru.
Operasi sel undo yang didukung:
- Sisipkan/Hapus sel: Anda dapat mencabut operasi penghapusan 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 komentar sel kode tidak dapat dibatalkan. Sekarang Anda dapat membatalkan/mengulang hingga 10 operasi sel historis terbaru.
Komentar sel kode
Pilih tombol Komentar pada toolbar notebook untuk membuka panel Komentar.
Pilih kode di sel kode, klik Baru di panel Komentar, tambahkan komentar, lalu klik tombol Kirim komentar untuk menyimpan.
Anda dapat melakukan Edit komentar, Selesaikan utas, atau Hapus utas dengan mengeklik tombol Lainnya di samping komentar Anda.
Memindahkan sel
Klik di sisi kiri sel dan seret ke posisi yang diinginkan.
Menghapus sel
Untuk menghapus sel, pilih tombol hapus di sisi kanan sel.
Anda juga dapat menggunakan tombol pintasan di bawah mode perintah. Tekan Shift+D untuk menghapus sel saat ini.
Menciutkan input sel
Pilih elipsis (...) Perintah lainnya pada toolbar sel lalu Sembunyikan input untuk menciutkan input sel saat ini. Untuk meluaskan, Pilih Tampilkan input saat sel diciutkan.
Menciutkan output sel
Pilih elipsis (...) Perintah lainnya pada toolbar sel lalu Sembunyikan output untuk menciutkan output sel saat ini. Untuk meluaskan, pilih Tampilkan output saat output sel disembunyikan.
Kerangka notebook
Kerangka (Daftar Isi) menyajikan header markdown pertama dari setiap sel markdown di jendela sidebar untuk navigasi cepat. Sidebar kerangka dapat diubah ukurannya dan dapat diciutkan agar pas dengan layar secara optimal. Anda dapat memilih tombol Kerangka pada bilah perintah notebook untuk membuka atau menyembunyikan sidebar
Menjalankan notebook
Anda dapat menjalankan sel kode di notebook Anda satu per satu atau sekaligus. Status dan kemajuan setiap sel ditunjukkan di dalam 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 Kunci pintasan di mode perintah. Tekan Shift+Enter untuk menjalankan sel saat ini dan pilih sel di bawah ini. Tekan Alt+Enter untuk menjalankan sel saat ini dan menyisipkan sel baru di bawah ini.
Menjalankan semua sel
Pilih tombol Jalankan Semua untuk menjalankan semua sel dalam buku catatan saat ini secara berurutan.
Jalankan semua sel di atas atau di bawah
Luaskan daftar dropdown dari tombol Jalankan semua, lalu pilih Jalankan sel di atas untuk menjalankan semua sel di atas urutan saat ini. Pilih Jalankan sel di bawah untuk menjalankan semua sel di bawah saat ini secara berurutan.
Membatalkan semua sel yang sedang berjalan
Pilih tombol Batalkan Semua untuk membatalkan sel yang sedang berjalan atau sel dalam antrean.
Referensi buku catatan
Anda dapat menggunakan %run <notebook path>
perintah ajaib untuk mereferensikan notebook lain dalam konteks notebook saat ini. Semua variabel yang ditentukan dalam notebook referensi tersedia di buku catatan saat ini. %run
perintah ajaib mendukung panggilan bertumpuk tetapi tidak mendukung panggilan berulang. Anda menerima pengecualian jika kedalaman pernyataan lebih besar dari lima.
Contoh: %run /<path>/Notebook1 { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }
.
Referensi buku catatan berfungsi baik dalam mode interaktif maupun alur Synapse.
Catatan
- Perintah
%run
saat ini hanya mendukung untuk melewati jalur absolut atau nama notebook saja sebagai parameter, jalur relatif tidak didukung. - Perintah
%run
saat ini hanya mendukung 4 jenis nilai parameter:int
,float
,bool
,string
, operasi penggantian variabel tidak didukung. - Buku catatan yang dirujuk harus dipublikasikan. Anda perlu menerbitkan buku catatan untuk mereferensikannya kecuali Referensi buku catatan yang tidak diterbitkan diaktifkan. Synapse Studio tidak mengenali buku catatan yang tidak diterbitkan dari repo Git.
- Notebook yang dirujuk tidak mendukung pernyataan bahwa kedalaman lebih besar dari lima.
Penjelajah variabel
Synapse notebook menyediakan penjelajah variabel bawaan untuk Anda agar dapat melihat daftar nama, jenis, panjang, dan nilai variabel dalam sesi Spark saat ini untuk sel PySpark (Python). Lebih banyak variabel muncul secara otomatis saat didefinisikan dalam sel kode. Mengklik setiap header kolom mengurutkan variabel dalam tabel.
Anda dapat memilih tombol Variabel pada bilah perintah notebook untuk membuka atau menyembunyikan penjelajah variabel.
Catatan
Penjelajah variabel hanya mendukung python.
Indikator status sel
Status eksekusi sel langkah demi langkah ditampilkan di bawah sel untuk membantu Anda melihat kemajuan eksekusi saat ini. Setelah eksekusi selesai, ringkasan eksekusi dengan total durasi dan waktu akhir akan diperlihatkan dan disimpan di sana untuk referensi di masa mendatang.
Indikator kemajuan Spark
Synapse notebook murni berbasis Spark. Sel kode dieksekusi pada kumpulan Apache Spark tanpa server dari jarak jauh. Indikator kemajuan pekerjaan Spark disediakan dengan bilah kemajuan real time yang ditampilkan untuk membantu Anda memahami status eksekusi pekerjaan. Jumlah tugas 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).
Konfigurasi sesi Spark
Anda dapat menentukan durasi waktu habis, jumlah, dan ukuran eksekutor yang akan diberikan ke sesi Spark saat ini dalam Konfigurasikan sesi. 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, silakan merujuk ke Manajemen Konfigurasi Apache Spark.
Perintah ajaib konfigurasi sesi Spark
Anda juga dapat menentukan setelan sesi spark melalui perintah ajaib %%configure. Sesi spark perlu dimulai ulang agar efek pengaturan diterapkan. Kami menyarankan agar Anda menjalankan %%configure di awal notebook Anda. Berikut adalah sampel, lihat https://github.com/cloudera/livy#request-body untuk daftar lengkap parameter yang valid.
%%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", "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 standard spark property, to find more available properties please visit:https://spark.apache.org/docs/latest/configuration.html#application-properties.
"spark.driver.maxResultSize":"10g",
//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"
}
}
Catatan
- "DriverMemory" dan "ExecutorMemory" disarankan untuk diatur sebagai nilai yang sama di %%configure, begitu juga "driverCores" dan "executorCores".
- Anda bisa menggunakan %%configure dalam alur Synapse, tetapi jika tidak diatur di sel kode pertama, eksekusi alur akan gagal karena sesi tidak dapat dimulai ulang.
- %%configure yang digunakan di mssparkutils.notebook.run akan diabaikan tetapi digunakan di %run notebook akan terus dijalankan.
- Properti konfigurasi Spark standar harus digunakan dalam isi "conf". Kami tidak mendukung referensi tingkat pertama untuk properti konfigurasi Spark.
- Beberapa properti spark khusus termasuk "spark.driver.cores", "spark.executor.cores", "spark.driver.memory", "spark.executor.memory", "spark.executor.instances" tidak akan berlaku dalam isi "conf".
Konfigurasi sesi berparameter dari alur
Konfigurasi sesi berparameter memungkinkan Anda mengganti nilai dalam perintah ajaib %%configure dengan parameter Eksekusi alur (Aktivitas notebook). Saat menyiapkan sel kode %%configure, Anda dapat mengganti nilai default (juga dapat dikonfigurasi, 4 dan "2000" dalam contoh di bawah) dengan objek seperti ini:
{
"activityParameterName": "paramterNameInPipelineNotebookActivity",
"defaultValue": "defaultValueIfNoParamterFromPipelineNotebookActivity"
}
%%configure
{
"driverCores":
{
"activityParameterName": "driverCoresFromNotebookActivity",
"defaultValue": 4
},
"conf":
{
"livy.rsc.sql.num-rows":
{
"activityParameterName": "rows",
"defaultValue": "2000"
}
}
}
Notebook menggunakan nilai default jika menjalankan notebook dalam mode interaktif secara langsung atau tidak ada parameter yang cocok dengan "activityParameterName" diberikan dari aktivitas Pipeline Notebook.
Selama mode eksekusi alur, Anda dapat mengonfigurasi pengaturan aktivitas Notebook alur seperti di bawah ini:
Jika Anda ingin mengubah konfigurasi sesi, nama parameter aktivitas Notebook alur harus sama dengan activityParameterName di notebook. Saat menjalankan alur ini, dalam contoh ini driverCores di %%configure akan diganti dengan 8 dan livy.rsc.sql.num-rows akan diganti dengan 4000.
Catatan
Jika alur eksekusi gagal karena menggunakan perintah ajaib %%configure baru ini, Anda bisa memeriksa informasi kesalahan lainnya dengan menjalankan sel ajaib %%configure dalam mode interaktif notebook.
Membawa data ke notebook
Anda dapat memuat data dari Azure Blob Storage, Azure Data Lake Store Gen 2, dan kumpulan SQL seperti yang ditunjukkan pada sampel kode di bawah ini.
Baca CSV dari Azure Data Lake Store 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')
Baca 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 Blob 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 pada file dan pilih Notebook baru untuk melihat notebook baru dengan ekstraktor data yang beregenerasi otomatis.
Widget IPython
Widget adalah objek Python eventful yang memiliki representasi di browser, sering kali sebagai kontrol seperti penggeser, kotak teks dll. Widget IPython hanya berfungsi di lingkungan Python, itu belum didukung dalam bahasa lain (misalnya, Scala, SQL, C#).
Untuk menggunakan Widget IPython
Anda perlu mengimpor modul
ipywidgets
terlebih dahulu untuk menggunakan kerangka kerja Widget Jupyter.import ipywidgets as widgets
Anda dapat menggunakan fungsi tingkat atas
display
untuk merender widget, atau meninggalkan ekspresi jenis widget di baris terakhir sel kode.slider = widgets.IntSlider() display(slider)
slider = widgets.IntSlider() slider
Jalankan sel, widget ditampilkan 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 independen dari satu sama lain, buat dua instans widget:
slider1 = widgets.IntSlider() slider2 = widgets.IntSlider() display(slider1) display(slider2)
Widget yang didukung
Jenis Widget | Widget |
---|---|
Widget numerik | IntSlider, FloatSlider, FloatLogSlider, IntRangeSlider, FloatRangeSlider, IntProgress, FloatProgress, BoundedIntText, BoundedFloatText, IntText, FloatText |
Widget Boolean | ToggleButton, Checkbox, Valid |
Widget pilihan | Dropdown, RadioButtons, Select, SelectionSlider, SelectionRangeSlider, ToggleButtons, SelectMultiple |
Widget String | Teks, area Teks, Combobox, Kata Sandi, Label, HTML, HTML Math, Citra, Tombol |
Memutar widget (Animasi) | Pemilih tanggal, Pemilih warna, Pengontrol |
Widget Kontainer/Tata Letak | Box, HBox, VBox, GridBox, Accordion, Tabs, Stacked |
Batasan umum
Widget berikut belum didukung, Anda dapat mengikuti solusi yang sesuai seperti di bawah ini:
Fungsionalitas Solusi Sementara Widget Output
Anda dapat menggunakan fungsi print()
sebagai gantinya untuk menulis teks ke dalam stdout.widgets.jslink()
Anda dapat menggunakan fungsi widgets.link()
untuk menautkan dua widget serupa.Widget FileUpload
Belum didukung. Fungsi global
display
yang disediakan oleh Synapse tidak mendukung menampilkan beberapa widget dalam satu panggilan (yaitu,display(a, b)
), yang berbeda dari fungsi IPythondisplay
.Jika Anda menutup notebook yang berisi Widget IPython, Anda tidak akan dapat melihat atau berinteraksi dengannya hingga Anda menjalankan sel yang sesuai lagi.
Menyimpan notebook
Anda dapat menyimpan satu notebook atau semua notebook 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.
Di properti buku catatan, Anda bisa mengonfigurasi apakah akan menyertakan output sel saat menyimpan.
Perintah ajaib
Anda dapat menggunakan perintah ajaib Jupyter yang umum digunakan di Synapse notebooks. Tinjau daftar berikut ini sebagai perintah ajaib yang tersedia saat ini. Beri tahu kami kasus penggunaan Anda di GitHub sehingga kami dapat terus membangun lebih banyak perintah ajaib untuk memenuhi kebutuhan Anda.
Catatan
Hanya perintah ajaib berikut yang didukung dalam alur Synapse : %%pyspark, %%spark, %%csharp, %%sql.
Line magics yang tersedia: %lsmagic, %time, %timeit, %history, %run, %load
Line magics yang tersedia: %%time, %%timeit, %%capture, %%writefile,%%sql,%%pyspark, %%spark,%%csharp, %%html,%%configure
Referensi notebook yang tidak diterbitkan
Referensi buku catatan yang tidak diterbitkan berguna saat Anda ingin men-debug "secara lokal", saat mengaktifkan fitur ini, eksekusi buku catatan mengambil konten saat ini di cache web, jika Anda menjalankan sel termasuk pernyataan buku catatan referensi, Anda mereferensikan menyajikan buku catatan di browser buku catatan saat ini alih-alih versi tersimpan dalam kluster, itu berarti perubahan di editor buku catatan Anda dapat segera direferensikan oleh buku catatan lain tanpa harus diterbitkan (Mode langsung) atau diterapkan( Mode Git), dengan memanfaatkan pendekatan ini, Anda dapat dengan mudah menghindari pustaka umum tercemari selama proses pengembangan atau penelusuran kesalahan.
Anda dapat mengaktifkan notebook Referensi yang tidak dipublikasikan dari panel Properti:
Untuk perbandingan kasus yang berbeda, periksa tabel di bawah ini:
Perhatikan bahwa %run dan mssparkutils.notebook.run memiliki perilaku yang sama di sini. Kami menggunakan %run
di sini sebagai contoh.
Kasus | 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, dialokasikan) %run Nb1 |
Kesalahan | Menjalankan Nb1 yang dialokasikan |
- Nb1 (Sebelumnya diterbitkan, dialokasikan) %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 dialokasikan, diedit) %run Nb1 |
Kesalahan | Menjalankan versi Nb1 yang diedit |
- Nb1 (Sebelumnya diterbitkan dan dialokasikan, diedit) %run Nb1 |
Menjalankan versi Nb1 yang diterbitkan | Menjalankan versi Nb1 yang diedit |
Kesimpulan
- Jika dinonaktifkan, selalu jalankan versi yang diterbitkan.
- Jika diaktifkan, prioritasnya adalah: diedit/baru > dialokasikan > diterbitkan.
Manajemen sesi aktif
Anda dapat menggunakan kembali sesi notebook Anda dengan mudah sekarang tanpa harus memulai yang baru. Synapse notebook sekarang mendukung pengelolaan sesi aktif Anda dalam daftar Sesi kelola, Anda dapat melihat semua sesi di ruang kerja saat ini yang dimulai oleh Anda dari notebook.
Di sesi Aktif, daftar Anda bisa melihat informasi sesi dan buku catatan terkait yang saat ini dilampirkan ke sesi. Anda dapat mengoperasikan Lepaskan dengan notebook, Hentikan sesi, dan Lihat dalam pemantauan dari sini. Selain itu, Anda dapat dengan mudah menyambungkan buku catatan yang Anda pilih ke sesi aktif dalam daftar yang dimulai dari buku catatan lain, sesi dicopot dari buku catatan sebelumnya (jika tidak menganggur) lalu melampirkan ke yang saat ini.
Pencatatan Python di Notebook
Anda dapat menemukan log Python dan mengatur tingkat dan format log yang berbeda mengikuti kode sampel di bawah ini:
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")
Mengintegrasikan notebook
Menambahkan notebook ke alur
Pilih tombol Tambahkan ke alur di sudut kanan atas untuk menambahkan notebook ke saluran yang sudah ada atau membuat saluran baru.
Menetapkan sel parameter
Untuk menetapkan parameter notebook Anda, pilih elipsis (...) untuk mengakses perintah lainnya di toolbar sel. Lalu pilih Alihkan sel parameter untuk menetapkan 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 notebook dengan parameter, Anda dapat mengeksekusinya dari alur dengan aktivitas Synapse Notebook. Setelah Anda menambahkan aktivitas ke kanvas alur, Anda akan dapat mengatur nilai parameter di bagianParameter dasar pada tab Pengaturan.
Saat menetapkan nilai parameter, Anda dapat menggunakan bahasa pemrograman ekspresi alur atau variabel sistem.
Kunci pintasan
Mirip dengan Jupyter Notebooks, Synapse notebooks memiliki antarmuka pengguna modal. Keyboard melakukan hal yang berbeda tergantung pada mode mana sel notebook berada. Synapse notebooks 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 mengetik. Saat sel berada dalam mode Perintah, Anda bisa mengedit buku catatan secara keseluruhan tetapi Anda tidak dapat mengetik ke dalam sel individu. Masukkan mode perintah dengan menekan
ESC
atau menggunakan mouse untuk memilih di luar area editor teks sel.Mode edit ditunjukkan oleh kursor teks yang meminta Anda untuk mengetik di area penyunting. Saat sel ada dalam mode edit, Anda bisa mengetik ke dalam sel. Masuk ke mode edit dengan menekan
Enter
atau gunakan mouse untuk memilih pada area penyunting sel.
Kunci pintasan dalam mode perintah
Tindakan | Pintasan Synapse notebook |
---|---|
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 | Turun |
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 | Masukkan |
Kunci pintasan di bawah mode edit
Dengan menggunakan pintasan tekanan tombol berikut, Anda dapat menavigasi dan menjalankan kode dengan lebih mudah di Synapse notebook saat dalam mode Edit.
Tindakan | Pintasan Synapse notebook |
---|---|
Memindahkan kursor ke atas | Naik |
Memindahkan kursor ke bawah | Turun |
Undo | Ctrl + Z |
Kembalikan | Ctrl + Y |
Komentar/Batalkan komentar | Ctrl + / |
Menghapus kata sebelumnya | Ctrl + Backspace |
Menghapus kata setelahnya | Ctrl + Delete |
Lompat ke sel awal | Ctrl + Home |
Lompat ke sel akhir | Ctrl + End |
Lompat ke satu kata di 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 |
Langkah berikutnya
- Periksa notebook 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
- Azure Synapse Analytics