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.

Yeni not defteri oluşturma veya içeri aktarma ekran görüntüsü

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:

Not

Not defterlerinde, sizin için otomatik olarak oluşturulan ve adlı sparkbir değişkende depolanan bir SparkSession vardır. Ayrıca SparkContext için adlı scbir 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.

  1. İki hücre arasındaki boşluğun üzerine gelin ve Kod veya Markdown'ı seçin. add-azure-notebook-cell-with-cell-button ekran görüntüsü

  2. 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.

Default-synapse-language ekran görüntüsü

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.

Synapse spark magic komutlarının ekran görüntüsü

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. 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. 2. Hücrede Spark SQL kullanarak verileri sorgular.

    %%sql
    SELECT * FROM mydataframetable
    
  3. 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.

Synapse kod parçacıklarının animasyonlu GIF'i

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.

Synapse metin hücresi araç çubuğunun ekran görüntüsü


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.

Aznb'nin Synapse geri alma hücrelerinin ekran görüntüsü

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

  1. Not defteri araç çubuğunda Açıklamalar düğmesini seçerek Açıklamalar bölmesini açın.

    Synapse açıklama düğmesinin ekran görüntüsü

  2. 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.

    Synapse yeni açıklamasının ekran görüntüsü

  3. 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.

    Synapse düzenleme açıklamasının ekran görüntüsü


Hücreyi taşıma

Hücrenin sol tarafına tıklayın ve istediğiniz konuma sürükleyin. Synapse taşıma hücrelerinin animasyonlu GIF'i


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.

azure-notebook-delete-a-cell ekran görüntüsü


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.

azure-notebook-collapse-cell-input animasyonlu GIF


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.

azure-notebook-collapse-cell-output animasyonlu GIF


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

azure-notebook-outline ekran görüntüsü


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.

  1. Ç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.

    Run-cell-1'in ekran görüntüsü

  2. 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.

Tümünü çalıştır hücrelerinin ekran görüntüsü

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.

Azure-notebook-run-cells-above-or-below ekran görüntüsü


Ç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. azure-notebook-cancel-all-cells ekran görüntüsü


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, , stringdeğ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.

azure-notebook-variable-explorer ekran görüntüsü

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.

Hücre durumunun ekran görüntüsü

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-progress-indicator ekran görüntüsü

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.

Oturum yönetimi ekran görüntüsü

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: Parametreli oturum yapılandırmasının ekran görüntüsü

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.

Veriden hücreye ekran görüntüsü

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

  1. Jupyter Widget çerçevesini kullanmak için önce modülü içeri aktarmanız ipywidgets gerekir.

    import ipywidgets as widgets
    
  2. 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
    
  3. Hücreyi çalıştırdığınızda pencere öğesi çıkış alanında görüntülenir.

    ipython pencere öğeleri kaydırıcısının ekran görüntüsü

  4. 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)
    

    ipython pencere öğeleri kaydırıcılarının ekran görüntüsü

  5. İ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

  1. Aşağıdaki pencere öğeleri henüz desteklenmemektedir, aşağıdaki gibi ilgili geçici çözümü izleyebilirsiniz:

    İşlev Geçici çözüm
    Output Widget Stdout'a metin yazmak için bunun yerine işlevini kullanabilirsiniz print() .
    widgets.jslink() İşlevi kullanarak widgets.link() iki benzer pencere öğesini bağlayabilirsiniz.
    FileUpload Widget Henüz desteklenmedi.
  2. Synapse tarafından sağlanan genel display işlev, display(a, b)IPython display işlevinden farklı olan birden çok pencere öğesinin tek bir çağrıda (yani ), görüntülenmesini desteklemez.

  3. 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.

  1. Tek bir not defterinde yaptığınız değişiklikleri kaydetmek için not defteri komut çubuğunda Yayımla düğmesini seçin.

    Publish-notebook ekran görüntüsü

  2. Ç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.

    Tümünü yayımla ekran görüntüsü

Not defteri özelliklerinde, kaydederken hücre çıkışının dahil edilip edilmeyeceğini yapılandırabilirsiniz.

Not defteri özelliklerinin ekran görüntüsü

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:

Not defteri başvurusu ekran görüntüsü

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.

Not defteri yönetimi oturumlarının ekran görüntüsü

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.

notebook-sessions-list ekran görüntüsü

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.

İşlem hattına not defteri ekleme ekran görüntüsü

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-notebook-toggle-parameter ekran görüntüsü


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 atama ekran görüntüsü

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.

  1. 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.

    Komut modunun ekran görüntüsü

  2. 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.

    Düzenleme modunun ekran görüntüsü

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