Aracılığıyla paylaş


Synapse not defterleri oluşturma, geliştirme ve sürdürme

Azure Synapse Analytics'teki bir not defteri (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 eforuyla çalışmaya başlayın.
  • Yerleşik kurumsal güvenlik özellikleriyle verilerin güvenliğini sağlamaya yardımcı olun.
  • Spark ve SQL'de ham biçimler (CSV, TXT ve JSON gibi), işlenen dosya biçimleri (Parquet, Delta Lake ve ORC gibi) ve SQL tablosal veri dosyaları genelinde verileri analiz edin.
  • Gelişmiş yazma özellikleri ve yerleşik veri görselleştirmesi ile üretken olun.

Bu makalede Synapse Studio'da not defterlerinin nasıl kullanılacağı açıklanmaktadır.

Not defteri oluşturma

Yeni bir not defteri oluşturabilir veya mevcut bir not defterini Nesne Gezgini synapse çalışma alanına aktarabilirsiniz. Geliştir menüsünü seçin. Düğmeyi + seçin ve Not Defteri'ni seçin veya Not Defterleri'ne sağ tıklayın ve ardından Yeni not defteri veya İçeri Aktar'ı seçin. Synapse not defterleri standart Jupyter Notebook IPYNB dosyalarını tanır.

Not defteri oluşturma veya içeri aktarma seçimlerinin ekran görüntüsü.

Not defterleri geliştirme

Not defterleri, bağımsız olarak veya grup olarak çalıştırabileceğiniz tek tek kod veya metin blokları olan hücrelerden oluşur.

Aşağıdaki bölümlerde not defterlerini geliştirmeye yönelik işlemler açıklanmaktadır:

Not

Not defterlerinde, sizin için otomatik olarak bir SparkSession örnek oluşturulur ve adlı sparkbir değişkende depolanır. için SparkContext adlı scbir değişken de vardır. Kullanıcılar bu değişkenlere doğrudan erişebilir ancak bu değişkenlerin değerlerini değiştirmemelidir.

Hücre ekleme

Not defterinize yeni hücre eklemenin birden çok yolu vardır:

  • İki hücre arasındaki boşluğun üzerine gelin ve Kod veya Markdown'ı seçin.

    Synapse not defterindeki Kod ve Markdown düğmelerinin ekran görüntüsü.

  • Komut modunda kısayol tuşlarını kullanın. Geçerli hücrenin üzerine hücre eklemek için A tuşunu seçin. Geçerli hücrenin altına bir hücre eklemek için B tuşunu seçin.

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 üst komut çubuğundaki Dil açılan listesinden ayarlayabilirsiniz.

Synapse not defterinde dil seçmek için açılan listenin ekran görüntüsü.

Birden çok dil kullanma

Bir not defterinde, hücrenin başında doğru dil sihirli komutunu belirterek birden çok dil kullanabilirsiniz. Aşağıdaki tabloda, hücre dillerini değiştirmek için sihirli komutlar listelemektedir.

Magic komutu Dil Açıklama
%%pyspark Python üzerinde SparkContextbir Python sorgusu çalıştırın.
%%spark Scala üzerinde SparkContextbir Scala sorgusu çalıştırın.
%%sql Spark SQL üzerinde SparkContextbir Spark SQL sorgusu çalıştırın.
%%csharp Spark C için .NET# üzerinde SparkContextSpark C# sorgusu için bir .NET çalıştırın.
%%sparkr R üzerinde SparkContextbir R sorgusu çalıştırın.

Aşağıdaki görüntüde, bir Spark (Scala) not defterindeki %%pyspark sihirli komutu kullanarak magic komutunu veya Spark SQL sorgusunu kullanarak PySpark sorgusu yazma işleminin %%sql bir örneği gösterilmektedir. Not defterinin birincil dili PySpark olarak ayarlanır.

Synapse not defterindeki 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şvurabilirsiniz. Geçici çözüm olarak Bir Spark geçici tablosu kullanarak PySpark ve Spark SQL'de Scala DataFrame'in nasıl okunduğuna yönelik bir örnek aşağıda verilmiştir:

  1. 1. hücrede Scala kullanarak SQL havuzu bağlayıcısından 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 sorgula:

    %%sql
    SELECT * FROM mydataframetable
    
  3. 3. hücrede PySpark'taki verileri kullanın:

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

IDE stili IntelliSense kullanma

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 özellikleri, 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öz dizimi hata işaretçisi Söz dizimi kodu tamamlama Değişken kod tamamlama Sistem işlev kodu tamamlama Kullanıcı işlevi kodu tamamlama Akıllı girinti Kod katlama
PySpark (Python) Yes Evet Evet Evet Evet Evet Evet Yes
Spark (Scala) Yes Evet Evet Evet Evet Evet Hayı Evet
Spark SQL Yes Evet Evet Evet Evet Hayır Hayır Hayır
Spark için .NET (C#) Yes Evet Evet Evet Evet Evet Evet Yes

Spark için .NET (C#) için değişken kod tamamlama, sistem işlev kodu tamamlama ve kullanıcı işlev kodu tamamlama özelliğinden yararlanmak için etkin bir Spark oturumu gereklidir.

Kod parçacıkları kullanma

Synapse not defterleri, yaygın olarak kullanılan kod desenlerini girmeyi kolaylaştıran kod parçacıkları sağlar. Bu desenler Spark oturumunuzu yapılandırmayı, verileri Spark DataFrame olarak okumayı ve Matplotlib kullanarak grafik çizmeyi içerir.

Kod parçacıkları, diğer önerilerle karıştırılmış IDE stili IntelliSense kısayol tuşlarında görünür. Kod parçacıklarının içeriği kod hücresi diliyle hizalanır. Kod parçacığını veya kod hücresi düzenleyicisindeki kod parçacığı başlığında görünen anahtar sözcükleri girerek kullanılabilir kod parçacıklarını görebilirsiniz. Örneğin, okuma girerek çeşitli veri kaynaklarından gelen verileri okumak için kod parçacıklarının listesini görebilirsiniz.

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

Araç çubuğu düğmelerini kullanarak metin hücrelerini biçimlendirme

Sık kullanılan Markdown eylemlerini gerçekleştirmek için metin hücresi araç çubuğundaki biçim düğmelerini kullanabilirsiniz. Bu eylemler arasında metni kalın yapma, metni italik yapma, açılan menüden paragraf ve başlık oluşturma, kod ekleme, sıralanmamış liste ekleme, sıralı liste ekleme, köprü ekleme ve URL'den resim ekleme yer alır.

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

Hücre işlemini geri alma veya yineleme

En son hücre işlemlerini iptal etmek için Geri Al veya Yinele düğmesini seçin ya da Z tuşunu veya Shift+Z tuşlarını seçin. Artık en fazla 10 geçmiş hücre işlemini geri alabilir veya yineleyebilirsiniz.

Synapse not defterindeki Geri Al ve Yinele düğmelerinin ekran görüntüsü.

Desteklenen hücre işlemleri şunlardır:

  • Hücre ekleme veya silme. Geri Al'ı seçerek silme işlemlerini iptal edebilirsiniz. Bu eylem, metin içeriğini hücreyle birlikte tutar.
  • Hücreleri yeniden sırala.
  • Parametre hücreyi açma veya kapatma.
  • Kod hücresi ile Markdown hücresi arasında dönüştürme.

Not

Bir hücredeki metin işlemlerini veya açıklama ekleme işlemlerini geri alamazsınız.

Kod hücresiyle ilgili açıklama

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

    Synapse not defterindeki Açıklamalar düğmesinin ve Açıklamalar bölmesinin ekran görüntüsü.

  2. Kod hücresindeki kodu seçin, Açıklamalar bölmesinde Yeni'yi seçin, açıklama ekleyin ve açıklamayı gönder düğmesini seçin.

    Synapse not defterine açıklama girme kutusunun ekran görüntüsü.

  3. Gerekirse açıklamanızın yanındaki Diğer üç noktayı (...) seçerek Açıklamayı düzenle, yazışmayı çöz ve İş parçacığını sil eylemlerini gerçekleştirebilirsiniz.

    Synapse not defterindeki bir kod hücresi için ek komutların ekran görüntüsü.

Hücreyi taşıma

Hücreyi taşımak için hücrenin sol tarafını seçin ve hücreyi istediğiniz konuma sürükleyin.

Synapse not defterindeki hücreleri taşımanın animasyonlu GIF'i.

Hücre kopyalama

Hücreyi kopyalamak için önce yeni bir hücre oluşturun, sonra özgün hücrenizdeki tüm metni seçin, metni kopyalayın ve metni yeni hücreye yapıştırın. Hücreniz düzenleme modundayken, tüm metni seçmek için geleneksel klavye kısayolları hücreyle sınırlıdır.

İpucu

Synapse not defterleri yaygın olarak kullanılan kod desenlerinin parçacıklarını da sağlar.

Hücre silme

Hücreyi silmek için hücrenin sağındaki Sil düğmesini seçin.

Komut modunda kısayol tuşlarını da kullanabilirsiniz. Geçerli hücreyi silmek için Shift+D tuşlarına basın.

Synapse not defterindeki bir hücreyi silme düğmesinin ekran görüntüsü.

Hücre girişini daraltma

Geçerli hücrenin girişini daraltmak için, hücre araç çubuğundaki Diğer komutlar üç noktasını (...) ve ardından Girişi gizle'yi seçin. Girişi genişletmek için Hücre daraltılırken girişi göster'i seçin.

Synapse not defterinde hücre girişini daraltma ve genişletme animasyonlu GIF.

Hücre çıkışını daraltma

Geçerli hücrenin çıkışını daraltmak için hücre araç çubuğundaki Diğer komutlar üç noktasını (...) seçin ve ardından Çıkışı gizle'yi seçin. Çıkışı genişletmek için Hücrenin çıkışı gizliyken çıkışı göster'i seçin.

Synapse not defterinde hücre çıkışını daraltma ve genişletme animasyonlu GIF.

Not defteri anahattı kullanma

Ana hat (içindekiler tablosu), hızlı gezinti için kenar çubuğu penceresinde herhangi bir Markdown hücresinin ilk Markdown üst bilgisini sunar. Ana hat 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çin.

Synapse not defterindeki ana hat kenar çubuğunun ekran görüntüsü.

Not defteri ç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örüntülenir.

Not

Not defterini silmek, çalışmakta olan işleri otomatik olarak iptal etmez. bir işi iptal etmeniz gerekiyorsa İzleyici hub'ına gidin ve el ile iptal edin.

Hücre çalıştırma

Kodu bir hücrede çalıştırmanın birden çok yolu vardır:

  • Çalıştırmak istediğiniz hücrenin üzerine gelin ve ardından Hücreyi çalıştır düğmesini seçin veya Ctrl+Enter tuşlarına basın.

    Synapse not defterinde hücre çalıştırma komutunun ekran görüntüsü.

  • Komut modunda kısayol tuşlarını kullanın. Geçerli hücreyi çalıştırmak için Shift+Enter tuşlarına basın ve altındaki 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ını seçin.

Tüm hücreleri çalıştır

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.

Synapse not defterindeki tüm hücreleri çalıştırma düğmesinin ekran görüntüsü.

Yukarıdaki veya altındaki tüm hücreleri çalıştırma

Geçerli hücrenin üzerindeki tüm hücreleri sırayla çalıştırmak için Tümünü çalıştır düğmesinin açılan listesini genişletin ve yukarıdaki Hücreleri çalıştır'ı seçin. Geçerli hücrenin altındaki tüm hücreleri sırayla çalıştırmak için Aşağıdaki Hücreleri çalıştır'ı seçin.

Synapse not defterindeki geçerli hücrenin üzerinde ve altında hücreleri çalıştırma komutlarının ekran görüntüsü.

Çalışan tüm hücreleri iptal etme

Çalışan hücreleri veya kuyrukta bekleyen hücreleri iptal etmek için Tümünü iptal et düğmesini seçin.

Synapse not defterindeki tüm çalışan veya bekleyen hücreleri iptal etme düğmesinin ekran görüntüsü.

Not defterine başvurma

Geçerli not defterinin bağlamında başka bir not defterine başvurmak için sihirli komutunu kullanın %run <notebook path> . Başvuru not defterinde tanımlanan tüm değişkenler geçerli not defterinde kullanılabilir.

Bir örnek aşağıda verilmiştir:

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

Not defteri başvurusu hem etkileşimli modda hem de işlem hatlarında çalışır.

%run Magic komutu şu sınırlamalara sahiptir:

  • komutu iç içe çağrıları destekler ancak özyinelemeli çağrıları desteklemez.
  • Komutu, mutlak yol veya not defteri adının yalnızca parametre olarak geçirilmesini destekler. Göreli yolları desteklemez.
  • Komut şu anda yalnızca dört parametre değeri türünü destekler: int, float, boolve string. Değişken değiştirme işlemlerini desteklemez.
  • Başvuruda bulunılan not defterlerinin yayımlanması gerekir. Yayımlanmamış not defteri başvurularını etkinleştirme seçeneğini belirtmediğiniz sürece, not defterlerini bunlara başvurmak için yayımlamanız gerekir. Synapse Studio, Git deposundan yayımlanmamış not defterlerini tanımaz.
  • Başvuruda bulunan not defterleri beşten büyük deyim derinliklerini desteklemez.

Değişken gezginini kullanma

Synapse not defteri, PySpark (Python) hücreleri için geçerli Spark oturumundaki değişkenleri listeleyen bir tablo biçiminde yerleşik bir değişken gezgini sağlar. Tablo değişken adı, türü, uzunluğu ve değeri için sütunlar içerir. Kod hücrelerinde tanımlanan diğer değişkenler otomatik olarak görünür. Her sütun üst bilgisinin seçilmesi tablodaki değişkenleri sıralar.

Değişken gezginini açmak veya gizlemek için not defteri komut çubuğundaKi Değişkenler düğmesini seçin.

Synapse not defterindeki değişken gezgininin ekran görüntüsü.

Not

Değişken gezgini yalnızca Python'ı destekler.

Hücre durumu göstergesini kullanma

Geçerli ilerleme durumunu görmenize yardımcı olmak için hücrenin altında bir hücre çalıştırmasının adım adım durumu görüntülenir. Hücre çalıştırması tamamlandıktan sonra, toplam süre ve bitiş saatini içeren bir özet görüntülenir ve gelecekte başvurmak üzere orada kalır.

Synapse not defterindeki bir hücre çalıştırmasının özetinin ekran görüntüsü.

Spark ilerleme göstergesini kullanma

Synapse not defteri tamamen Spark tabanlıdır. Kod hücreleri sunucusuz Apache Spark havuzunda uzaktan çalışır. Gerçek zamanlı ilerleme çubuğu içeren Spark işi ilerleme durumu göstergesi, iş çalıştırma durumunu anlamanıza yardımcı olur.

Her iş veya aşama için görev sayısı Spark işinizin paralel düzeyini belirlemenize yardımcı olur. Ayrıca, iş (veya aşama) adındaki bağlantıyı seçerek belirli bir işin (veya aşamanın) Spark kullanıcı arabiriminde daha ayrıntılı detaya gidebilirsiniz.

Synapse not defterindeki Spark ilerleme göstergesinin ekran görüntüsü.

Spark oturumu yapılandırma

Not defterinin üst kısmındaki dişli simgesini seçerek bulabileceğiniz Oturumu yapılandır bölmesinde zaman aşımı süresini, yürütücü sayısını ve geçerli Spark oturumuna verecek 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 Bkz . Apache Spark yapılandırmasını yönetme.

Synapse not defterinde oturum yapılandırma bölmesinin ekran görüntüsü.

Spark oturumu yapılandırmak için magic komutu

Spark oturum ayarlarını magic komutuyla %%configureda belirtebilirsiniz. Ayarların etkili olması için Spark oturumunu yeniden başlatın.

Not defterinizin başında çalıştırmanızı %%configure öneririz. İşte bir örnek. Geçerli parametrelerin tam listesi için GitHub'da Livy bilgilerine bakın.

%%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" 
    }
}

Magic komutu için %%configure dikkat edilmesi gereken bazı noktalar şunlardır:

  • ve driverMemory executorMemory %%configureiçin aynı değeri kullanmanızı öneririz. Bunu da öneririz driverCores ve executorCores aynı değere sahiptir.
  • Synapse işlem hatlarında kullanabilirsiniz %%configure , ancak bunu ilk kod hücresinde ayarlamazsanız işlem hattı çalıştırması oturumu yeniden başlatamadığı için başarısız olur.
  • %%configure içinde mssparkutils.notebook.run kullanılan komut yoksayılır, ancak içinde %run <notebook> kullanılan komut çalışmaya devam eder.
  • Gövdede standart Spark yapılandırma özelliklerini "conf" kullanmanız gerekir. Spark yapılandırma özellikleri için birinci düzey başvuruları desteklemiyoruz.
  • , ve "spark.executor.instances"gibi "spark.executor.memory""spark.driver.memory""spark.executor.cores""spark.driver.cores"bazı özel Spark özellikleri gövdede "conf" etkili olmaz.

İşlem hattından parametreli oturum yapılandırması

Magic komutundaki %%configure değerleri işlem hattı çalıştırma (not defteri etkinliği) parametreleriyle değiştirmek için parametreli oturum yapılandırmasını kullanabilirsiniz. Kod %%configure hücresi hazırlarken, aşağıdaki gibi bir nesne kullanarak varsayılan değerleri geçersiz kılabilirsiniz:

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

Aşağıdaki örnekte ve "2000"varsayılan değerleri 4 de yapılandırılabilir:

%%configure  

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

Not defterini doğrudan etkileşimli modda çalıştırırsanız veya işlem hattı not defteri etkinliği ile eşleşen "activityParameterName"bir parametre sağlamazsa not defteri varsayılan değeri kullanır.

İşlem hattı çalıştırma modu sırasında, işlem hattı not defteri etkinliğinin ayarlarını yapılandırmak için Ayarlar sekmesini kullanabilirsiniz.

Synapse not defterindeki 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 parametresinin adı not defterindekiyle activityParameterName aynı olmalıdır. Bu örnekte, bir işlem hattı çalıştırması 8 sırasında öğesinin yerine %%configuredriverCores ve 4000 öğesinin yerini alırlivy.rsc.sql.num-rows.

Magic komutunu kullandıktan %%configure sonra işlem hattı çalıştırması başarısız olursa, sihirli hücreyi not defterinin %%configure etkileşimli modunda çalıştırarak daha fazla hata bilgisi alabilirsiniz.

Not defterine veri getirme

Aşağıdaki kod örneklerinde gösterildiği gibi Azure Data Lake Storage 2. Nesil, Azure Blob Depolama ve SQL havuzlarından veri yükleyebilirsiniz.

Azure Data Lake Storage 2. Nesil'dan Spark DataFrame olarak CSV dosyası 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')

spark dataframe olarak Azure Blob Depolama csv dosyasını 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 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)

Birincil depolama hesabından verileri okuma

Birincil depolama hesabındaki verilere doğrudan erişebilirsiniz. Gizli dizi anahtarlarını sağlamanıza gerek yoktur. Veri Gezgini bir dosyaya sağ tıklayıp Yeni not defteri'ni seçerek otomatik olarak oluşturulan veri ayıklayıcısına sahip yeni bir not defteri görebilirsiniz.

Azure Synapse Analytics'te dosya verilerine erişmek için yeni bir Spark tablosu açmayı gösteren ekran görüntüsü.

IPython pencere öğelerini kullanma

Pencere öğeleri, genellikle kaydırıcı veya metin kutusu gibi bir denetim olarak tarayıcıda temsili olan olaylı Python nesneleridir. IPython pencere öğeleri yalnızca Python ortamlarında çalışır. Şu anda diğer dillerde (scala, SQL veya C# gibi) desteklenmemektedir.

IPython pencere öğelerini kullanma adımları

  1. ipywidgets Jupyter Pencere Öğeleri çerçevesini kullanmak için modülü içeri aktarın:

    import ipywidgets as widgets
    
  2. Bir pencere öğesini işlemek için en üst düzey display işlevi kullanın veya kod hücresinin widget son satırında türünde bir ifade bırakın:

    slider = widgets.IntSlider()
    display(slider)
    
    slider = widgets.IntSlider()
    slider
    
  3. Hücreyi çalıştırın. Pencere öğesi çıkış alanında görünür.

    Synapse not defterindeki IPython pencere öğesi kaydırıcısının ekran görüntüsü.

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)

Synapse not defterindeki birden çok IPython pencere öğesi kaydırıcısının ekran görüntüsü.

Birbirinden bağımsız iki pencere öğesini 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 öğesi türü Küçük aletler
Sayısal IntSlider, FloatSlider, , FloatLogSlider, IntRangeSlider, FloatRangeSlider, IntProgress, , FloatProgressBoundedIntText, BoundedFloatText, IntText,FloatText
Boolean ToggleButton, Checkbox, Valid
Seçim Dropdown, RadioButtons, Select, , SelectionSlider, SelectionRangeSlider, ToggleButtons, SelectMultiple
String Text, Text area, Combobox, , Password, Label, HTML, HTML Math, Image, Button
Yürüt (animasyon) Date picker, Color picker, Controller
Kapsayıcı/Düzen Box, HBox, VBox, , GridBox, Accordion, Tabs, Stacked

Bilinen sınırlamalar

  • Aşağıdaki tabloda, şu anda desteklenmeyen pencere öğeleri ve geçici çözümler listelenmektedir:

    İşlev Geçici çözüm
    Output Widget yerine işlevini kullanarak print() içine stdoutmetin yazabilirsiniz.
    widgets.jslink() İki benzer pencere öğesini widgets.link() bağlamak için işlevini kullanabilirsiniz.
    FileUpload Widget Hiçbiri kullanılamaz.
  • Azure Synapse Analytics'in sağladığı genel display işlev, birden çok pencere öğesinin tek bir çağrıda (yani display(a, b)) görüntülenmesini desteklemez. Bu davranış, IPython display işlevinden farklıdır.

  • IPython pencere öğesi içeren bir not defterini kapatırsanız, ilgili hücreyi yeniden çalıştırmadan pencere öğesini görüntüleyemez veya pencere öğesiyle 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.

    Synapse not defterinde değişiklikleri yayımlama düğmesinin ekran görüntüsü.

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

    Synapse çalışma alanında tüm not defterlerinde değişiklik yayımlama düğmesinin ekran görüntüsü.

Not defterinin Özellikler bölmesinde, kaydederken hücre çıkışının dahil edilip edilmeyeceğini yapılandırabilirsiniz.

Synapse not defteri özelliklerinin ekran görüntüsü ve kaydederken hücre çıkışı ekleme onay kutusu.

Sihirli komutları kullanma

Synapse not defterlerinde tanıdık Jupyter magic komutlarını kullanabilirsiniz. Şu anda kullanılabilen sihirli komutların aşağıdaki listelerini gözden geçirin. İhtiyaçlarınızı 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 hatlarında yalnızca aşağıdaki sihirli komutlar desteklenir: %%pyspark, %%spark, %%csharp, %%sql.

Satırlar için kullanılabilir sihirli komutlar:

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

Hücreler için kullanılabilir sihirli komutlar:

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

Yayımlanmamış not defterine başvurma

Yerel olarak hata ayıklamak istediğinizde yayımlanmamış bir not defterine başvurmak yararlı olur. Bu özelliği etkinleştirdiğinizde, bir not defteri çalıştırması geçerli içeriği web önbelleğine getirir. Başvuru not defteri deyimi içeren bir hücre çalıştırırsanız, kümede kayıtlı bir sürüm yerine geçerli not defteri tarayıcısında sunum not defterlerine başvurursunuz. Diğer not defterleri, değişiklikleri yayımlamanıza (Canlı mod) veya işlemenize (Git modu) gerek kalmadan not defteri düzenleyicinizdeki değişikliklere başvurabilir. Bu yaklaşımı kullanarak, geliştirme veya hata ayıklama işlemi sırasında ortak kitaplıkların kirlenmesini önleyebilirsiniz.

Özellikler bölmesinde uygun onay kutusunu seçerek yayımlanmamış bir not defterine başvurmayı etkinleştirebilirsiniz.

Yayımlanmamış synapse not defterine başvurmayı etkinleştirme onay kutusunun ekran görüntüsü.

Aşağıdaki tabloda servis talepleri karşılaştırılmaktadır. %run ve mssparkutils.notebook.run burada da aynı davranışa sahip olsa da, tablo örnek olarak kullanır %run .

Büyük/küçük harf durumu 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ımlanmamış, işlenmedi)
%run Nb1
Hata Çalıştırma kaydedilmiş Nb1
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ı, geçerli 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ımlanmış ve kaydedilmiş, düzenlenmiş)
%run Nb1
Nb1'in yayımlanmış sürümünü çalıştırma Nb1'in düzenlenmiş sürümünü çalıştırma

Özet olarak:

  • Yayımlanmamış bir not defterine başvurmayı devre dışı bırakırsanız, yayımlanan sürümü her zaman çalıştırın.
  • Yayımlanmamış bir not defterine başvurmayı etkinleştirirseniz, başvuru çalıştırması her zaman not defteri UX'sinde görüntülenen geçerli not defterini benimser.

Etkin oturumları yönetme

Yenilerini başlatmak zorunda kalmadan not defteri oturumlarınızı yeniden kullanabilirsiniz. Synapse not defterlerinde etkin oturumlarınızı tek bir listede yönetebilirsiniz. Listeyi açmak için üç noktayı (...) ve ardından Oturumları yönet'i seçin.

Etkin Synapse not defteri oturumlarının listesini açmak için seçimlerin ekran görüntüsü.

Etkin oturumlar bölmesinde, not defterinden başlattığınız geçerli çalışma alanında yer alan tüm oturumlar listelenir. Listede oturum bilgileri ve buna karşılık gelen not defterleri gösterilir. Not defteriyle ayır, Oturumu durdur ve İzlemede görüntüle eylemlerine buradan ulaşabilirsiniz. Ayrıca, seçtiğiniz not defterini başka bir not defterinden başlayan etkin bir oturuma bağlayabilirsiniz. Oturum daha sonra önceki not defterinden ayrılır (boşta değilse) ve geçerli not defterine eklenir.

Synapse çalışma alanında etkin oturumlar için bölmenin ekran görüntüsü.

Not defterinde Python günlüklerini kullanma

Aşağıdaki örnek kodu kullanarak Python günlüklerini bulabilir ve farklı günlük düzeylerini ve biçimlerini 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 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")

Giriş komutlarının geçmişini görüntüleme

Synapse not defterleri, geçerli oturum için giriş komut geçmişini yazdırmak için sihirli komutu %history destekler. %history Sihirli komut, standart Jupyter IPython komutuna benzer ve not defterinde birden çok dil bağlamı için çalışır.

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

Yukarıdaki kodda, -n yazdırma yürütme numarasıdır. Değer range şu şekilde olabilir:

  • N: Yürütülen hücrenin Nth kodunu yazdırın.
  • M-N: kodu'ndan Mth yürütülen hücreye Nth yazdırın.

Örneğin, birinci hücreden ikinci yürütülen hücreye giriş geçmişini yazdırmak için kullanın %history -n 1-2.

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.

Mevcut veya yeni synapse işlem hattına not defteri eklemeye yönelik menü seçeneklerinin 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.

Hücreyi parametre hücresi olarak belirlemeye yönelik menü seçeneğinin ekran görüntüsü.

Azure Data Factory parametre hücresini arar ve bu hücreyi yürütme zamanında geçirilen parametreler için varsayılan olarak kabul eder. 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

Parametreleri olan bir not defteri oluşturduktan sonra, Synapse not defteri etkinliğini kullanarak işlem hattından çalıştırabilirsiniz. etkinliği işlem hattı tuvalinize ekledikten sonra, Ayarlar sekmesinin Temel parametreler bölümünde parametre değerlerini ayarlayabilirsiniz.

Azure Synapse Analytics'te parametre atama alanının ekran görüntüsü.

Parametre değerleri atarken işlem hattı ifade dilini veya sistem değişkenlerini kullanabilirsiniz.

Kısayol tuşlarını kullanma

Jupyter Notebooks'a 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 bir kod hücresi için aşağıdaki iki modu destekler:

  • Komut modu: Hiçbir metin imleci yazmanızı istemediğinde bir hücre komut modundadır. Bir hücre komut modundayken, not defterini bir bütün olarak düzenleyebilirsiniz, ancak tek tek hücrelere yazamayın. Esc tuşunu seçerek veya fareyi kullanarak hücrenin düzenleyici alanının dışından seçim yaparak komut moduna geçin.

    Synapse not defterindeki komut modunun ekran görüntüsü.

  • Düzenleme modu: Bir hücre düzenleme modundayken, metin imleci hücreye yazmanızı ister. Enter tuşunu seçerek veya fareyi kullanarak bir hücrenin düzenleyici alanını seçerek düzenleme moduna geçin.

    Synapse not defterindeki düzenleme modunun ekran görüntüsü.

Komut modunda kısayol tuşları

Eylem Synapse not defteri kısayolu
Geçerli hücreyi çalıştırın ve aşağıdan seçin 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çme K
Sonraki hücreyi seç J
Üstüne hücre ekle A
Altına hücre ekle K
Seçili hücreleri silme Shift+D
Düzenleme moduna geçiş Enter

Düzenleme modundaki kısayol tuşları

Eylem Synapse not defteri kısayolu
İ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üğü 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+]
Girinti Ctrl+[
Komut moduna geçme Esc