Azure Synapse Analytics'te Synapse not defterleri oluşturma, geliştirme ve sürdürme
Synapse not defteri, canlı kod, görselleştirmeler ve anlatı metni içeren dosyalar oluşturmanız için kullanabileceğiniz bir web arabirimidir. Not defterleri, fikirleri doğrulamak ve hızlı denemeler yaparak verilerinizden içgörüler elde etmek için iyi bir yerdir. Not defterleri veri hazırlama, veri görselleştirme, makine öğrenmesi ve diğer Büyük Veri senaryolarında da yaygın olarak kullanılır.
Synapse not defteriyle şunları yapabilirsiniz:
- Sıfır kurulum eforu kullanmaya başlayın.
- Yerleşik kurumsal güvenlik özellikleriyle verilerin güvenliğini sağlayın.
- Spark ve SQL'de ham biçimler (CSV, txt, JSON vb.), işlenen dosya biçimleri (parquet, Delta Lake, ORC vb.) ve SQL tablosal veri dosyaları arasında verileri analiz edin.
- Gelişmiş yazma özellikleri ve yerleşik veri görselleştirme ile üretken olun.
Bu makalede, Synapse Studio'de not defterlerinin nasıl kullanılacağı açıklanmaktadır.
Not defteri oluşturma
Not defteri oluşturmanın iki yolu vardır. Yeni bir not defteri oluşturabilir veya mevcut bir not defterini Nesne Gezgini synapse çalışma alanına aktarabilirsiniz. Synapse not defterleri standart Jupyter Notebook IPYNB dosyalarını tanır.
Not defterleri geliştirme
Not defterleri, bağımsız olarak veya grup olarak çalıştırılabilir tek tek kod veya metin blokları olan hücrelerden oluşur.
Not defterleri geliştirmek için zengin işlemler sağlıyoruz:
- Hücre ekleme
- Birincil dil ayarlama
- Birden çok dil kullanma
- Diller arasında verilere başvurmak için geçici tabloları kullanma
- IDE stili IntelliSense
- Kod Parçacıkları
- Araç çubuğu düğmeleriyle metin hücresini biçimlendirme
- Hücre işlemini geri al/yinele
- Kod hücresi açıklama ekleme
- Hücreyi taşıma
- Hücre silme
- Hücre girişini daraltma
- Hücre çıkışını daraltma
- Not defteri ana hattı
Not
Not defterlerinde, sizin için otomatik olarak oluşturulan ve adlı spark
bir değişkende depolanan bir SparkSession vardır. Ayrıca SparkContext için adlı sc
bir değişken de vardır. Kullanıcılar bu değişkenlere doğrudan erişebilir ve bu değişkenlerin değerlerini değiştirmemelidir.
Hücre ekleme
Not defterinize yeni bir hücre eklemenin birden çok yolu vardır.
İki hücre arasındaki boşluğun üzerine gelin ve Kod veya Markdown'ı seçin.
Komut modu altında aznb Kısayol tuşlarını kullanın. Geçerli hücrenin üstüne hücre eklemek için A tuşuna basın. Geçerli hücrenin altına hücre eklemek için B tuşuna basın.
Birincil dil ayarlama
Synapse not defterleri dört Apache Spark dilini destekler:
- PySpark (Python)
- Spark (Scala)
- Spark SQL
- .NET Spark (C#)
- SparkR (R)
Yeni eklenen hücreler için birincil dili üstteki komut çubuğundaki açılan listeden ayarlayabilirsiniz.
Birden çok dil kullanma
Hücrenin başında doğru dil sihirli komutunu belirterek bir not defterinde birden çok dil kullanabilirsiniz. Aşağıdaki tabloda, hücre dillerini değiştirmek için sihirli komutlar listelemektedir.
Sihirli komut | Dil | Description |
---|---|---|
%%pyspark | Python | Spark Bağlamı'nın karşısında bir Python sorgusu yürütür. |
%%spark | Scala | Spark Bağlamı üzerinde bir Scala sorgusu yürütür. |
%%sql | SparkSQL | Spark Bağlamı'na karşı bir SparkSQL sorgusu yürütür. |
%%csharp | Spark C için .NET# | Spark Bağlamı üzerinde Spark C# için bir .NET sorgusu yürütür. |
%%sparkr | R | Spark Bağlamı'nın karşı bir R sorgusu yürütür. |
Aşağıdaki görüntüde, bir Spark(Scala) not defterindeki %%sql magic komutuyla %%pyspark magic komutunu veya SparkSQL sorgusunu kullanarak PySpark sorgusu yazma işlemine bir örnek verilmiştir. Not defterinin birincil dilinin pySpark olarak ayarlandığına dikkat edin.
Diller arasında verilere başvurmak için geçici tabloları kullanma
Synapse not defterindeki verilere veya değişkenlere doğrudan farklı dillerde başvuramazsınız. Spark'ta, diller arasında geçici bir tabloya başvurulabilir. Geçici çözüm olarak bir DataFrame'in PySpark
nasıl okunduğuna Scala
ve SparkSQL
Spark geçici tablosunun nasıl kullanıldığına yönelik bir örnek aşağıda verilmiştir.
1. Hücrede, Scala kullanarak SQL havuzu bağlayıcısından bir DataFrame okuyun ve geçici bir tablo oluşturun.
%%spark val scalaDataFrame = spark.read.sqlanalytics("mySQLPoolDatabase.dbo.mySQLPoolTable") scalaDataFrame.createOrReplaceTempView( "mydataframetable" )
2. Hücrede Spark SQL kullanarak verileri sorgular.
%%sql SELECT * FROM mydataframetable
Hücre 3'te PySpark'taki verileri kullanın.
%%pyspark myNewPythonDataFrame = spark.sql("SELECT * FROM mydataframetable")
IDE stili IntelliSense
Synapse not defterleri, IDE stili IntelliSense'i hücre düzenleyicisine getirmek için Monaco düzenleyicisiyle tümleştirilir. Söz dizimi vurgulama, hata işaretçisi ve otomatik kod tamamlama işlemleri kod yazmanıza ve sorunları daha hızlı belirlemenize yardımcı olur.
IntelliSense özellikleri farklı diller için farklı olgunluk düzeylerindedir. Desteklenenleri görmek için aşağıdaki tabloyu kullanın.
Diller | Söz Dizimi Vurgusu | Sözdizimi Hata İşaretçisi | Sözdizimi Kodu Tamamlama | Değişken Kodu Tamamlama | Sistem İşlevi Kodu Tamamlama | Kullanıcı İşlevi Kodu Tamamlama | Akıllı Girinti | Kod Katlama |
---|---|---|---|---|---|---|---|---|
PySpark (Python) | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Spark (Scala) | Yes | Yes | Yes | Yes | Yes | Yes | - | Yes |
SparkSQL | Yes | Yes | Yes | Yes | Yes | - | - | - |
Spark için .NET (C#) | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Not
Spark için .NET için Değişken Kod Tamamlama, Sistem İşlev Kodu Tamamlama,Kullanıcı İşlev Kodu Tamamlama (C#) avantajından yararlanmak için etkin bir Spark oturumu gereklidir.
Kod Parçacıkları
Synapse not defterleri Spark oturumunuzu yapılandırma, verileri Spark DataFrame olarak okuma veya matplotlib ile grafik çizme gibi yaygın kullanılan kod düzenlerini girmeyi kolaylaştıran kod parçacıkları sağlar.
Kod parçacıkları IDE stilinin Kısayol tuşları IntelliSense'te diğer önerilerle karışık olarak görünür. Kod parçacıklarının içeriği, kod hücresi diliyle hizalanır. Kod parçacığı yazarak kullanılabilir kod parçacıklarını görebilirsiniz veya kod hücresi düzenleyicisindeki kod parçacığı başlığında herhangi bir anahtar sözcük görünür. Örneğin, okuma yazarak çeşitli veri kaynaklarından verileri okumak için kod parçacıklarının listesini görebilirsiniz.
Araç çubuğu düğmeleriyle metin hücresini biçimlendirme
Sık kullanılan markdown eylemlerini gerçekleştirmek için metin hücreleri araç çubuğundaki biçim düğmelerini kullanabilirsiniz. Metin kalınlaştırmayı, metni italik hale getirmeyi, açılan listede paragraf/üst bilgileri eklemeyi, kod eklemeyi, sıralanmamış liste eklemeyi, sıralı liste eklemeyi, köprü eklemeyi ve URL'den resim eklemeyi içerir.
Hücre işlemini geri al/yinele
YinelemeyiGeri Al / düğmesini seçin veya en son hücre işlemlerini iptal etmek için Z / Shift+Z tuşlarına basın. Artık en son 10 geçmiş hücre işlemini geri alabilir/yineleyebilirsiniz.
Desteklenen hücre işlemlerini geri alma:
- Hücre ekle/sil: Geri Al'ı seçerek silme işlemlerini iptal edebilirsiniz; metin içeriği hücreyle birlikte tutulur.
- Hücreyi yeniden sırala.
- Parametreyi değiştirme.
- Kod hücresi ile Markdown hücresi arasında dönüştürme.
Not
Hücre içi metin işlemleri ve kod hücresi açıklama işlemleri geri alınamaz. Artık en son 10 geçmiş hücre işlemini geri alabilir/yineleyebilirsiniz.
Kod hücresi açıklama ekleme
Not defteri araç çubuğunda Açıklamalar düğmesini seçerek Açıklamalar bölmesini açın.
Kod hücresinde kodu seçin, Açıklamalar bölmesinde Yeni'ye tıklayın, açıklama ekleyin ve ardından Kaydetmek için Açıklama gönder düğmesine tıklayın.
Açıklamanızın yanı sıra Diğer düğmesine tıklayarak Açıklamayı düzenle, yazışmayı çöz veya yazışmayı sil işlemlerini gerçekleştirebilirsiniz.
Hücreyi taşıma
Hücrenin sol tarafına tıklayın ve istediğiniz konuma sürükleyin.
Hücre silme
Bir hücreyi silmek için, hücrenin sağ tarafındaki sil düğmesini seçin.
Komut modu altında kısayol tuşlarını da kullanabilirsiniz. Geçerli hücreyi silmek için Shift+D tuşlarına basın.
Hücre girişini daraltma
Hücre araç çubuğunda Diğer komutlar üç nokta (...) ve Geçerli hücrenin girişini daraltmak için Girişi gizle'yi seçin. Genişletmek için Hücre daraltılırken girişi göster'i seçin.
Hücre çıkışını daraltma
Hücre araç çubuğunda Diğer komutlar üç nokta (...) ve Geçerli hücrenin çıkışını daraltmak için Çıkışı gizle'yi seçin. Genişletmek için Hücrenin çıkışı gizliyken çıkışı göster'i seçin.
Not defteri ana hattı
Anahatlar (İçindekiler Tablosu), hızlı gezinti için kenar çubuğu penceresinde herhangi bir markdown hücresinin ilk markdown üst bilgisini gösterir. Ana Hatlar kenar çubuğu, ekrana mümkün olan en iyi şekilde sığacak şekilde yeniden boyutlandırılabilir ve daraltılabilir. Kenar çubuğunu açmak veya gizlemek için not defteri komut çubuğunda Ana Hat düğmesini seçebilirsiniz
Not defterlerini çalıştırma
Not defterinizdeki kod hücrelerini tek tek veya tümünü aynı anda çalıştırabilirsiniz. Her hücrenin durumu ve ilerleme durumu not defterinde gösterilir.
Hücre çalıştırma
Kodu bir hücrede çalıştırmanın çeşitli yolları vardır.
Çalıştırmak istediğiniz hücrenin üzerine gelin ve Hücreyi Çalıştır düğmesini seçin veya Ctrl+Enter tuşlarına basın.
Komut modu altındaki Kısayol tuşlarını kullanın. Geçerli hücreyi çalıştırmak için Shift+Enter tuşlarına basın ve aşağıdaki hücreyi seçin. Geçerli hücreyi çalıştırmak ve altına yeni bir hücre eklemek için Alt+Enter tuşlarına basın.
Tüm hücreleri çalıştırma
Geçerli not defterindeki tüm hücreleri sırayla çalıştırmak için Tümünü Çalıştır düğmesini seçin.
Yukarıdaki veya altındaki tüm hücreleri çalıştırma
Tümünü çalıştır düğmesinden açılan listeyi genişletin, ardından geçerlinin üzerindeki tüm hücreleri sırayla çalıştırmak için Yukarıdaki Hücreleri çalıştır'ı seçin. Geçerlinin altındaki tüm hücreleri sırayla çalıştırmak için Aşağıdaki Hücreleri çalıştır'ı seçin.
Çalışan tüm hücreleri iptal etme
Kuyrukta bekleyen çalışan hücreleri veya hücreleri iptal etmek için Tümünü İptal Et düğmesini seçin.
Not defteri başvurusu
Geçerli not defterinin bağlamında başka bir not defterine başvurmak için magic komutunu kullanabilirsiniz %run <notebook path>
. Başvuru not defterinde tanımlanan tüm değişkenler geçerli not defterinde kullanılabilir. %run
magic komutu iç içe aramaları destekler ancak özyinelemeli çağrıları desteklemez. Deyim derinliği beşten büyükse bir özel durum alırsınız.
Örnek: %run /<path>/Notebook1 { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }
.
Not defteri başvurusu hem etkileşimli modda hem de Synapse işlem hattında çalışır.
Not
%run
komutu şu anda yalnızca mutlak yol veya not defteri adını yalnızca parametre olarak geçirmeyi destekler, göreli yol desteklenmez.%run
komutu şu anda yalnızca 4 parametre değer türünü destekler:int
,float
,bool
, ,string
değişken değiştirme işlemi desteklenmez.- Başvuruda bulunılan not defterlerinin yayımlanması gerekir. Yayımlanmamış not defteri başvurusu etkinleştirilmediği sürece not defterlerini yayımlamanız gerekir. Synapse Studio, Git deposundan yayımlanmamış not defterlerini tanımaz.
- Başvuruda bulunan not defterleri, derinliği beşten büyük olan deyimi desteklemez.
Değişken gezgini
Synapse not defteri, PySpark (Python) hücreleri için geçerli Spark oturumundaki değişkenlerin adı, türü, uzunluğu ve değerinin listesini görmeniz için yerleşik bir değişken gezgini sağlar. Kod hücrelerinde tanımlanan diğer değişkenler otomatik olarak gösterilir. Her sütun başlığına tıklandığında tablodaki değişkenler sıralanır.
Değişken gezginini açmak veya gizlemek için not defteri komut çubuğunda Değişkenler düğmesini seçebilirsiniz.
Not
Değişken gezgini yalnızca Python'ı destekler.
Hücre durumu göstergesi
Hücrenin altında, geçerli ilerleme durumunu görmenize yardımcı olmak için adım adım bir hücre yürütme durumu görüntülenir. Hücre çalıştırması tamamlandıktan sonra, toplam süre ve bitiş saatini içeren bir yürütme özeti gösterilir ve gelecekte başvurmak üzere orada tutulur.
Spark ilerleme göstergesi
Synapse not defteri tamamen Spark tabanlıdır. Kod hücreleri sunucusuz Apache Spark havuzunda uzaktan yürütülür. İş yürütme durumunu anlamanıza yardımcı olmak için bir Spark işi ilerleme durumu göstergesi ile birlikte gerçek zamanlı bir ilerleme çubuğu görüntülenir. Her iş veya aşamaya göre görev sayısı Spark işinizin paralel düzeyini belirlemenize yardımcı olur. Ayrıca iş (veya aşama) adından bağlantıyı seçerek belirli bir işin (veya aşamanın) Spark kullanıcı arabiriminde daha ayrıntılı detaya gidebilirsiniz.
Spark oturum yapılandırması
Oturumu yapılandır bölümünde geçerli Spark oturumuna vermek üzere zaman aşımı süresini, sayısını ve yürütücülerin boyutunu belirtebilirsiniz. Yapılandırma değişikliklerinin etkili olması için Spark oturumunu yeniden başlatın. Önbelleğe alınan tüm not defteri değişkenleri temizlenir.
Ayrıca Apache Spark yapılandırmasından bir yapılandırma oluşturabilir veya mevcut bir yapılandırmayı seçebilirsiniz. Ayrıntılar için lütfen Apache Spark Yapılandırma Yönetimi'ne bakın.
Spark oturumu yapılandırma sihirli komutu
Spark oturum ayarlarını %%configure sihirli bir komutla da belirtebilirsiniz. Ayarların etkili olması için Spark oturumunun yeniden başlatılması gerekir. Not defterinizin başında %%configure komutunu çalıştırmanızı öneririz. Burada bir örnek verilmiştir. Geçerli parametrelerin tam listesi için konusuna bakın https://github.com/cloudera/livy#request-body .
%%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"
}
}
Not
- "DriverMemory" ve "ExecutorMemory" değerlerinin %%configure içinde aynı değer olarak ayarlanması önerilir, bu nedenle "driverCores" ve "executorCores" gibi.
- Synapse işlem hatlarında %%configure kullanabilirsiniz, ancak ilk kod hücresinde ayarlanmadıysa işlem hattı çalıştırması oturumu yeniden başlatamadığından başarısız olur.
- mssparkutils.notebook.run içinde kullanılan %%configure yok sayılacak ancak %run not defterinde kullanılanlar yürütülmeye devam edecek.
- Standart Spark yapılandırma özellikleri "conf" gövdesinde kullanılmalıdır. Spark yapılandırma özellikleri için ilk düzey başvuruyu desteklemiyoruz.
- "spark.driver.cores", "spark.executor.cores", "spark.driver.memory", "spark.executor.memory", "spark.executor.instances" gibi bazı özel spark özellikleri "conf" gövdesinde etkili olmaz.
İşlem hattından parametreli oturum yapılandırması
Parametreli oturum yapılandırması, %%configure magic içindeki değeri İşlem hattı çalıştırması (Not defteri etkinliği) parametreleriyle değiştirmenize olanak tanır. %%configure kod hücresini hazırlarken, aşağıdaki örnekte varsayılan değerleri (yapılandırılabilir, 4 ve "2000" olarak da) aşağıdaki gibi bir nesneyle geçersiz kılabilirsiniz:
{
"activityParameterName": "paramterNameInPipelineNotebookActivity",
"defaultValue": "defaultValueIfNoParamterFromPipelineNotebookActivity"
}
%%configure
{
"driverCores":
{
"activityParameterName": "driverCoresFromNotebookActivity",
"defaultValue": 4
},
"conf":
{
"livy.rsc.sql.num-rows":
{
"activityParameterName": "rows",
"defaultValue": "2000"
}
}
}
Not defteri doğrudan etkileşimli modda çalıştırılırsa veya İşlem Hattı Not Defteri etkinliğinden "activityParameterName" ile eşleşen bir parametre verilmezse not defteri varsayılan değeri kullanır.
İşlem hattı çalıştırma modu sırasında işlem hattı Not Defteri etkinlik ayarlarını aşağıdaki gibi yapılandırabilirsiniz:
Oturum yapılandırmasını değiştirmek istiyorsanız işlem hattı Not Defteri etkinlik parametrelerinin adı not defterindeki activityParameterName ile aynı olmalıdır. Bu işlem hattını çalıştırırken, bu örnekte %%configure içindeki driverCore değerleri 8 ile değiştirilecek ve livy.rsc.sql.num-rows değeri 4000 ile değiştirilecektir.
Not
İşlem hattını çalıştırma işlemi bu yeni %%configure magic özelliğini kullandığından başarısız olduysa%% magic hücresini not defterinin etkileşimli modunda çalıştırarak daha fazla hata bilgisini denetleyebilirsiniz.
Not defterine veri getirme
Aşağıdaki kod örneklerinde gösterildiği gibi Azure Blob Depolama, Azure Data Lake Store 2. Nesil ve SQL havuzundan veri yükleyebilirsiniz.
Azure Data Lake Store 2. Nesil'den Spark DataFrame olarak CSV okuma
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')
Azure Blob Depolama'den Spark DataFrame olarak CSV okuma
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)
Birincil depolama hesabından veri okuma
Birincil depolama hesabındaki verilere doğrudan erişebilirsiniz. Gizli anahtarları sağlamanıza gerek yoktur. Veri Gezgini'da bir dosyaya sağ tıklayın ve Yeni not defteri'ni seçerek veri ayıklayıcının otomatik olarak oluşturularak yeni bir not defterini görebilirsiniz.
IPython Pencere Öğeleri
Pencere öğeleri genellikle kaydırıcı, metin kutusu vb. gibi bir denetim olarak tarayıcıda temsili olan olaylı Python nesneleridir. IPython Pencere Öğeleri yalnızca Python ortamında çalışır, henüz diğer dillerde (örneğin Scala, SQL, C#) desteklenmemektedir.
IPython Pencere Öğesini kullanmak için
Jupyter Widget çerçevesini kullanmak için önce modülü içeri aktarmanız
ipywidgets
gerekir.import ipywidgets as widgets
Bir pencere öğesini işlemek için en üst düzey
display
işlevi kullanabilir veya kod hücresinin son satırında pencere öğesi türünde bir ifade bırakabilirsiniz.slider = widgets.IntSlider() display(slider)
slider = widgets.IntSlider() slider
Hücreyi çalıştırdığınızda pencere öğesi çıkış alanında görüntülenir.
Aynı pencere öğesi örneğini birden çok kez işlemek için birden çok
display()
çağrı kullanabilirsiniz, ancak bunlar birbiriyle eşitlenmiş durumda kalır.slider = widgets.IntSlider() display(slider) display(slider)
İki pencere öğesini birbirinden bağımsız olarak işlemek için iki pencere öğesi örneği oluşturun:
slider1 = widgets.IntSlider() slider2 = widgets.IntSlider() display(slider1) display(slider2)
Desteklenen pencere öğeleri
Pencere Öğeleri Türü | Pencere öğeleri |
---|---|
Sayısal pencere öğeleri | IntSlider, FloatSlider, FloatLogSlider, IntRangeSlider, FloatRangeSlider, IntProgress, FloatProgress, BoundedIntText, BoundedFloatText, IntText, FloatText |
Boole pencere öğeleri | ToggleButton, Onay Kutusu, Geçerli |
Seçim pencere öğeleri | Açılan Menü, RadioButtons, Select, SelectionSlider, SelectionRangeSlider, ToggleButtons, SelectMultiple |
Dize Pencere Öğeleri | Metin, Metin alanı, Birleşik giriş kutusu, Parola, Etiket, HTML, HTML Matematik, Resim, Düğme |
Yürütme (Animasyon) pencere öğeleri | Tarih seçici, Renk seçici, Denetleyici |
Kapsayıcı/Düzen pencere öğeleri | Kutu, HBox, VBox, GridBox, Accordion, Sekmeler, Yığılmış |
Bilinen sınırlamalar
Aşağıdaki pencere öğeleri henüz desteklenmemektedir, aşağıdaki gibi ilgili geçici çözümü izleyebilirsiniz:
İşlev Geçici çözüm Output
WidgetStdout'a metin yazmak için bunun yerine işlevini kullanabilirsiniz print()
.widgets.jslink()
İşlevi kullanarak widgets.link()
iki benzer pencere öğesini bağlayabilirsiniz.FileUpload
WidgetHenüz desteklenmedi. Synapse tarafından sağlanan genel
display
işlev,display(a, b)
IPythondisplay
işlevinden farklı olan birden çok pencere öğesinin tek bir çağrıda (yani ), görüntülenmesini desteklemez.IPython Pencere Öğesi içeren bir not defterini kapatırsanız, ilgili hücreyi yeniden yürütene kadar bu not defterini göremez veya bunlarla etkileşim kuramazsınız.
Not defterlerini kaydetme
Tek bir not defterini veya tüm not defterlerini çalışma alanınıza kaydedebilirsiniz.
Tek bir not defterinde yaptığınız değişiklikleri kaydetmek için not defteri komut çubuğunda Yayımla düğmesini seçin.
Çalışma alanınızdaki tüm not defterlerini kaydetmek için çalışma alanı komut çubuğunda Tümünü yayımla düğmesini seçin.
Not defteri özelliklerinde, kaydederken hücre çıkışının dahil edilip edilmeyeceğini yapılandırabilirsiniz.
Magic komutları
Synapse not defterlerinde tanıdık Jupyter magic komutlarını kullanabilirsiniz. Geçerli kullanılabilir sihirli komutlar olarak aşağıdaki listeyi gözden geçirin. Gereksinimlerinizi karşılamak için daha fazla sihirli komut oluşturmaya devam edebilmemiz için GitHub'da kullanım örneklerinizi bize bildirin.
Not
Synapse işlem hattında yalnızca aşağıdaki sihirli komutlar desteklenir: %%pyspark, %%spark, %%csharp, %%sql.
Kullanılabilir çizgi sihri: %lsmagic, %time, %timeit, %history, %run, %load
Kullanılabilir hücre büyüleri: %%time, %%timeit, %%capture, %%writefile, %%sql, %%pyspark, %%spark, %%csharp, %%html, %%configure
Yayımlanmamış not defteri başvurusu
"Yerel olarak" hata ayıklamak istediğinizde başvuru yayımlanmamış not defteri yararlıdır, bu özelliği etkinleştirirken not defteri çalıştırması web önbelleğindeki geçerli içeriği getirir. Başvuru not defterleri deyimi içeren bir hücre çalıştırırsanız, kümede kayıtlı sürümler yerine geçerli not defteri tarayıcısında sunulan not defterlerine başvurursunuz; bu da not defteri düzenleyicinizdeki değişikliklere yayımlanmak (Canlı mod) veya işlenmek zorunda kalmadan diğer not defterleri tarafından hemen başvurulabileceği anlamına gelir( Git modu), bu yaklaşımdan yararlanarak, geliştirme veya hata ayıklama işlemi sırasında ortak kitaplıkların kirlenmesini kolayca önleyebilirsiniz.
Özellikler panelinden Yayımlanmamış başvuru not defterini etkinleştirebilirsiniz:
Farklı servis talepleri karşılaştırması için lütfen aşağıdaki tabloyu denetleyin:
%run ve mssparkutils.notebook.run değerlerinin burada da aynı davranışa sahip olduğuna dikkat edin. Burada örnek olarak kullanılır %run
.
Case (Olay) | Devre Dışı Bırak | Etkinleştir |
---|---|---|
Canlı Mod | ||
- Nb1 (Yayımlandı)%run Nb1 |
Nb1'in yayımlanmış sürümünü çalıştırma | Nb1'in yayımlanmış sürümünü çalıştırma |
- Nb1 (Yeni)%run Nb1 |
Hata | Yeni Nb1'i çalıştır |
- Nb1 (Daha önce yayımlandı, düzenlendi)%run Nb1 |
Nb1'in yayımlanmış sürümünü çalıştırma | Nb1'in düzenlenmiş sürümünü çalıştırma |
Git Modu | ||
- Nb1 (Yayımlandı)%run Nb1 |
Nb1'in yayımlanmış sürümünü çalıştırma | Nb1'in yayımlanmış sürümünü çalıştırma |
- Nb1 (Yeni)%run Nb1 |
Hata | Yeni Nb1'i çalıştır |
- Nb1 (Yayımlanmaz, işlenmez)%run Nb1 |
Hata | İşlenen Nb1'i çalıştırma |
- Nb1 (Daha önce yayımlandı, işlendi)%run Nb1 |
Nb1'in yayımlanmış sürümünü çalıştırma | Nb1'in kaydedilmiş sürümünü çalıştırma |
- Nb1 (Daha önce yayımlandı, güncel dalda yeni)%run Nb1 |
Nb1'in yayımlanmış sürümünü çalıştırma | Yeni Nb1'i çalıştır |
- Nb1 (Yayımlanmadı, daha önce işlendi, düzenlendi)%run Nb1 |
Hata | Nb1'in düzenlenmiş sürümünü çalıştırma |
- Nb1 (Daha önce yayımlandı ve işlendi, düzenlendi)%run Nb1 |
Nb1'in yayımlanmış sürümünü çalıştırma | Nb1'in düzenlenmiş sürümünü çalıştırma |
Sonuç
- Devre dışı bırakılırsa, her zaman yayımlanmış sürümü çalıştırın.
- Etkinleştirilirse öncelik şudur: düzenlendi / yeni > kaydedilmiş > yayımlandı.
Etkin oturum yönetimi
Not defteri oturumlarınızı artık yenilerini başlatmak zorunda kalmadan rahatça yeniden kullanabilirsiniz. Synapse not defteri artık Oturumları yönet listesinde etkin oturumlarınızı yönetmeyi destekliyor. Geçerli çalışma alanında sizin tarafınızdan başlatılan tüm oturumları not defterinden görebilirsiniz.
Etkin oturumlarda, oturum bilgilerini ve o anda oturuma eklenmiş olan ilgili not defterini görebilirsiniz. Buradan Not defteriyle ayır, Oturumu durdur ve İzlemede görüntüle'yi çalıştırabilirsiniz. Ayrıca, seçili not defterinizi başka bir not defterinden başlatılan listedeki etkin bir oturuma kolayca bağlayabilirsiniz; oturum önceki not defterinden ayrılır (boşta değilse) sonra geçerli not defterine iliştirilir.
Not Defteri'nde Python günlüğü
Python günlüklerini bulabilir, aşağıdaki örnek kodu izleyerek farklı günlük düzeyleri ve biçimler ayarlayabilirsiniz:
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")
Not defterini tümleştirme
İşlem hattına not defteri ekleme
Mevcut işlem hattına not defteri eklemek veya yeni bir işlem hattı oluşturmak için sağ üst köşedeki İşlem hattına ekle düğmesini seçin.
Parametre hücresi belirleme
Not defterinizi parametreleştirmek için hücre araç çubuğundaki diğer komutlara erişmek için üç noktayı (...) seçin. Ardından Parametre hücresini değiştir'i seçerek hücreyi parametre hücresi olarak belirleyin.
Azure Data Factory parametre hücresini arar ve yürütme zamanında geçirilen parametreler için bu hücreyi varsayılan olarak ele alır. Yürütme altyapısı, varsayılan değerlerin üzerine yazmak için giriş parametreleriyle parametre hücresinin altına yeni bir hücre ekler.
İşlem hattından parametre değerleri atama
Parametrelerle bir not defteri oluşturduktan sonra Synapse Notebook etkinliğiyle bir işlem hattından yürütebilirsiniz. etkinliği işlem hattı tuvalinize ekledikten sonra Ayarlar sekmesindeki Temel parametreler bölümünde parametre değerlerini ayarlayabilirsiniz.
Parametre değerleri atarken işlem hattı ifade dilini veya sistem değişkenlerini kullanabilirsiniz.
Kısayol tuşları
Jupyter Notebook'lara benzer şekilde Synapse not defterleri de kalıcı bir kullanıcı arabirimine sahiptir. Klavye, not defteri hücresinin hangi modda olduğuna bağlı olarak farklı şeyler yapar. Synapse not defterleri, belirli bir kod hücresi için şu iki modu destekler: komut modu ve düzenleme modu.
Bir hücre, yazmanızı isteyen metin imleci olmadığında komut modundadır. Bir hücre Komut modundayken, not defterini bir bütün olarak düzenleyebilirsiniz, ancak tek tek hücrelere yazamayın. Hücrenin düzenleyici alanının dışından seçim yapmak için fareyi basarak
ESC
veya kullanarak komut moduna geçin.Düzenleme modu, düzenleyici alanına yazmanızı isteyen bir metin imleciyle gösterilir. Bir hücre düzenleme modundayken, hücreye yazabilirsiniz. Hücrenin düzenleyici alanında seçim yapmak için fareyi kullanarak
Enter
düzenleme moduna geçin.
Komut modu altındaki kısayol tuşları
Eylem | Synapse not defteri kısayolları |
---|---|
Geçerli hücreyi çalıştırın ve aşağıdan seçim yapın | Shift+Enter |
Geçerli hücreyi çalıştırın ve aşağıya ekleyin | Alt+Enter |
Geçerli hücreyi çalıştır | Ctrl+Enter |
Yukarıdaki hücreyi seçin | Yukarı |
Aşağıdaki hücreyi seçin | Aşağı |
Önceki hücreyi seç | K |
Sonraki hücreyi seç | J |
Üstüne hücre ekle | A |
Altına hücre ekle | B |
Seçili hücreleri silme | Shift+D |
Düzenleme moduna geçme | Enter |
Düzenleme modu altındaki kısayol tuşları
Aşağıdaki tuş vuruşu kısayollarını kullanarak, Düzenleme modundayken Synapse not defterlerinde daha kolay gezinebilir ve kod çalıştırabilirsiniz.
Eylem | Synapse not defteri kısayolları |
---|---|
İmleci yukarı taşıma | Yukarı |
İmleci aşağı taşıma | Aşağı |
Geri Al | Ctrl + Z |
Yinele | Ctrl + Y |
Açıklama/Açıklamayı Kaldırma | Ctrl + / |
Önceki sözcüğü silme | Ctrl + Geri Al tuşu |
Sonra sözcük silme | Ctrl + Delete |
Hücre başlangıcına gitme | Ctrl + Home |
Hücre sonuna git | Ctrl + End |
Bir sözcük sola git | Ctrl + Sol |
Bir sözcük sağa git | Ctrl + Sağ |
Tümünü seç | Ctrl + A |
Girinti | Ctrl +] |
Girintiyi azaltma | Ctrl + [ |
Komut moduna geçme | Esc |
Sonraki adımlar
- Synapse örnek not defterlerine göz atın
- Hızlı Başlangıç: Web araçlarını kullanarak Azure Synapse Analytics'te Apache Spark havuzu oluşturma
- Azure Synapse Analytics'te Apache Spark nedir?
- Azure Synapse Analytics ile Apache Spark için .NET’i kullanma
- Apache Spark için .NET belgeleri
- Azure Synapse Analytics