Microsoft Fabric not defterlerini geliştirme, yürütme ve yönetme

Microsoft Fabric not defteri, Apache Spark işleri ve makine öğrenmesi denemeleri geliştirmeye yönelik birincil bir kod öğesidir. Veri bilimcileri ve veri mühendisleri tarafından zengin görselleştirmelerden ve Markdown metinlerinden yararlanan kod yazmak için kullanılan web tabanlı etkileşimli bir yüzeydir. Bu makalede, kod hücresi işlemleriyle not defterlerinin nasıl geliştirilip çalıştırılacakları açıklanmaktadı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

Not defterinize yeni 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.

  2. Komut modunda Kısayol tuşlarını kullanın. Geçerli hücrenin üzerine 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

Doku not defterleri şu anda dört Apache Spark dilini desteklemektedir:

  • PySpark (Python)
  • Spark (Scala)
  • Spark SQL
  • SparkR

Yeni eklenen hücreler için birincil dili üst komut çubuğundaki açılan listeden ayarlayabilirsiniz.

Birden çok dil kullanma

Bir hücrenin başında language magic komutunu belirterek not defterinde birden çok dil kullanabilirsiniz. Ayrıca, dil seçiciden hücre dilini de değiştirebilirsiniz. Aşağıdaki tabloda hücre dillerini değiştirmeye yönelik sihirli komutlar listeleniyor.

Hücrenin başına girilen dil sihirli komutunun bir örneğini gösteren ekran görüntüsü.

Magic komutu Dil Açıklama
%%pyspark Python Spark Bağlamı'nın karşı python sorgusunu yürütür.
%%spark Scala Spark Bağlamı'nın karşı scala sorgusunu yürütür.
%%sql SparkSQL Spark Bağlamı'nın karşı bir SparkSQL sorgusu yürütür.
%%html Html Spark Bağlamı'ndaki bir HTML sorgusu yürütür.
%%sparkr R Spark Bağlamı'nın karşı bir R sorgusu yürütür.

IDE stili IntelliSense

Doku not defterleri, IDE stili IntelliSense'i hücre düzenleyicisine getirmek için Monaco düzenleyicisiyle tümleşiktir. Söz dizimi vurgulama, hata işaretçisi ve otomatik kod tamamlama işlemleri, hızla kod yazmanıza ve sorunları belirlemenize yardımcı olur.

IntelliSense özellikleri farklı diller için farklı olgunluk düzeylerindedir. Aşağıdaki tabloda Fabric'in desteklediği şeyler gösterilmektedir:

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 Evet Yes
SparkSQL Yes Evet Evet Evet Evet Hayı Evet Yes
SparkR Yes Evet Evet Evet Evet Evet Evet Evet

Not

IntelliSense kod tamamlama özelliğini kullanmak için etkin bir Spark oturuma sahip olmanız gerekir.

Kod parçacıkları

Doku not defterleri, yaygın olarak kullanılan kod desenlerini kolayca yazmanıza yardımcı olan kod parçacıkları sağlar, örneğin:

  • Verileri Spark DataFrame olarak okuma
  • Matplotlib ile grafik çizme

Kod parçacıkları IDE stilinin kısayol tuşları IntelliSense'te diğer önerilerle birlikte görüntülenir. Kod parçacığı içeriği, kod hücresi diliyle hizalanır. Kod Parçacığı yazarak kullanılabilir kod parçacıklarını görebilirsiniz. ayrıca ilgili kod parçacıklarının listesini görmek için herhangi bir anahtar sözcük yazabilirsiniz. Örneğin, okuma yazarsanız, çeşitli veri kaynaklarından gelen verileri okumak için kod parçacıklarının listesini görürsünüz.

Kod parçacıklarının animasyonlu GIF'i.

Kod parçacıkları eklemek için sürükleyip bırakın

Lakehouse gezgininden verileri rahatça okumak için sürükleyip bırakma özelliğini kullanın. Burada birden çok dosya türü desteklenir; metin dosyaları, tablolar, resimler vb. üzerinde çalışabilirsiniz. Varolan bir hücreye veya yeni bir hücreye bırakabilirsiniz. Not defteri, verilerin önizlemesini görüntülemek için kod parçacığını buna göre oluşturur.

Kod parçacıkları eklemek için sürükleyip bırakmanın animasyonlu GIF'i.

Resim eklemek için sürükleyip bırakın

Tarayıcınızdan veya yerel bilgisayarınızdan markdown hücresine kolayca resim eklemek için sürükleyip bırakma özelliğini kullanın.

Resim eklemek için sürükleyip bırakmanın animasyonlu GIF'i.

Araç çubuğu düğmeleriyle metin hücresini biçimlendirme

Yaygın markdown eylemlerini tamamlamak için metin hücresi araç çubuğundaki biçim düğmelerini kullanın.

Metin biçimlendirme araç çubuğunun ekran görüntüsü.

Hücre işlemlerini geri alma veya yineleme

Geri Al veya Yinele'yi seçin ya da en son hücre işlemlerini iptal etmek için Z veya Shift+Z tuşlarına basın. En son geçmiş hücre işlemlerinin en fazla 10'unu geri alabilir veya yineleyebilirsiniz.

Geri al ve yinele menü seçeneklerini gösteren ekran görüntüsü.

Desteklenen geri alma hücre işlemleri:

  • Hücre ekleme veya silme. 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. En son geçmiş hücre işlemlerinin en fazla 10'unu geri alabilir veya yineleyebilirsiniz.

Hücreyi taşıma

Hücrenin boş kısmından sürükleyip istediğiniz konuma bırakabilirsiniz.

Şeritte Yukarı taşı ve Aşağı taşı'yı kullanarak da seçili hücreyi taşıyabilirsiniz.

Hücre taşıma seçeneklerini gösteren ekran görüntüsü.

Hücre silme

Hücreyi silmek için hücrenin sağ tarafı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.

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. Yeniden genişletmek için Hücre daraltıldığında 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. Yeniden genişletmek için Hücre çıkışı daraltıldığında çıkışı göster'i seçin.

Hücre çıkış güvenliği

OneLake veri erişim rollerini (önizleme) kullanan kullanıcılar, not defteri sorguları sırasında yalnızca göl evindeki belirli klasörlere erişimi yapılandırabilir. Bir klasöre veya tabloya erişimi olmayan kullanıcılar sorgu yürütme sırasında yetkisiz bir hata görür.

Önemli

Güvenlik yalnızca sorgu yürütme sırasında geçerlidir ve sorgu sonuçlarını içeren tüm not defteri hücreleri, doğrudan verilerde sorgu çalıştırma yetkisi olmayan kullanıcılar tarafından görüntülenebilir.

Hücreyi kilitleme veya dondurma

Hücreyi kilitleme ve dondurma işlemleri, hücreleri salt okunur hale getirmenize veya kod hücrelerinin ayrı ayrı çalıştırılmasını durdurmanıza olanak sağlar.

Hücreyi kilitleme veya dondurma animasyonlu GIF.

Hücreleri birleştirme ve bölme

İlişkili hücreleri rahatça birleştirmek için Önceki hücreyle Birleştir'i veya Sonraki hücreyle birleştir'i kullanabilirsiniz.

Hücreyi böl'ün seçilmesi, ilgisiz deyimleri birden çok hücreye bölmenize yardımcı olur. İşlem, kodu imlecinizin satır konumuna göre böler.

Birleştirme bölünmüş hücrelerinin girişini gösteren ekran görüntüsü.

Not defteri içeriği

Anahatlar veya İçindekiler Tablosu seçildiğinde, hızlı gezinti için kenar çubuğu penceresinde herhangi bir markdown hücresinin ilk markdown üst bilgisi gösterilir. 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ğundaki İçindekiler düğmesini seçin.

İçindekiler seçeneğinin seçileceği yeri gösteren ekran görüntüsü.

Markdown katlama

Markdown katlama seçeneği, başlık içeren bir markdown hücresinin altındaki hücreleri gizlemenize olanak tanır. Markdown hücresi ve gizli hücreleri, hücre işlemleri gerçekleştirilirken çok seçili bitişik hücreler kümesiyle aynı kabul edilir.

Markdown katlama animasyonlu GIF.

Bulma ve değiştirme

Bul ve değiştir seçeneği, not defteri içeriğinizdeki anahtar sözcükleri veya ifadeleri eşleştirmenize ve bulmanıza yardımcı olabilir. Ayrıca hedef dizeyi kolayca yeni bir dizeyle değiştirebilirsiniz.

Bul ve değiştir bölmesini gösteren 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örüntülenir.

Hücre çalıştırma

Kodu bir hücrede çalıştırmanın birkaç yolu 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 modunda Kısayol tuşlarını kullanın. Geçerli hücreyi çalıştırmak ve sonraki hücreyi seçmek için Shift+Enter tuşlarına basın. Geçerli hücreyi çalıştırmak ve yeni bir hücre eklemek için Alt+Enter tuşlarına basın.

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.

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

Tümünü çalıştır'dan 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çerli hücreyi ve 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.

Tümünü çalıştır menü seçeneklerini gösteren 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ü iptal et'i seçin.

Oturumu durdur

Oturumu durdur, çalışan ve bekleyen hücreleri iptal eder ve geçerli oturumu durdurur. Yeniden çalıştır seçeneğini belirleyerek yepyeni bir oturumu yeniden başlatabilirsiniz.

Tüm çalıştırmaları iptal et ve oturumu durdur'u seçebileceğiniz yeri gösteren ekran görüntüsü.

Başvuru çalıştırması

Not Defteri çalıştırma başvurusu

Mssparkutils başvuru çalıştırma API'sine ek olarak, geçerli not defterinin %run <notebook name> bağlamında başka bir not defterine başvurmak için magic komutunu da kullanabilirsiniz. Başvuru not defterinde tanımlanan tüm değişkenler geçerli not defterinde kullanılabilir. %run Sihirli komut iç içe çağrıları destekler ancak özyinelemeli çağrıları desteklemez. Deyim derinliği beşten büyükse bir özel durum alırsınız.

Örnek: %run Notebook1 { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }.

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

Not

  • Komut %run şu anda yalnızca geçerli not defteriyle aynı çalışma alanında yer alan başvuru not defterlerini destekler.
  • Komut %run şu anda en fazla dört parametre değeri türünü destekler: int, float, boolve string. Değişken değiştirme işlemi desteklenmez.
  • Komut, %run derinliği beşten büyük olan iç içe başvuruyu desteklemez.

Başvuru betik çalıştırma

Komut %run ayrıca not defterinin yerleşik kaynaklarında depolanan Python veya SQL dosyalarını çalıştırmanıza olanak tanır, böylece kaynak kod dosyalarınızı not defterinde rahatça yürütebilirsiniz.

%run [-b/--builtin -c/--current] [script_file.py/.sql] [variables ...]

Seçenekler için:

  • -b/--builtin: Bu seçenek, komutun not defterinin yerleşik kaynaklarından belirtilen betik dosyasını bulup çalıştıracağını gösterir.
  • -c/--current: Bu seçenek, geçerli not defterine diğer not defterleri tarafından başvurulsa bile komutun her zaman geçerli not defterinin yerleşik kaynaklarını kullanmasını sağlar.

Örnekler:

  • Yerleşik kaynaklardan script_file.py çalıştırmak için:%run -b script_file.py

  • Yerleşik kaynaklardan script_file.sql çalıştırmak için:%run -b script_file.sql

  • Belirli değişkenlere sahip yerleşik kaynaklardan script_file.py çalıştırmak için:%run -b script_file.py { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }

Not

Komut -b/--builtin içermiyorsa, yerleşik kaynaklar yerine aynı çalışma alanı içinde not defteri öğesini bulmaya ve yürütmeye çalışır.

İç içe çalıştırma örneği:

  • İki not defterimiz olduğunu varsayalım.
    • Not Defteri1: Yerleşik kaynaklarında script_file1.py içerir
    • Not Defteri2: Yerleşik kaynaklarında script_file2.py içerir
  • Şimdi Not Defteri1'i içeriğiyle kök not defteri olarak kullanalım: %run Notebook2.
  • Ardından Not Defteri2'nde kullanım yönergesi şöyledir:
    • Not Defteri1'de (kök Not Defteri) script_file1.py çalıştırmak için kod şu şekilde olur:%run -b script_file1.py
    • Not Defteri2'de (geçerli Not Defteri) script_file2.py çalıştırmak için kod şöyle olacaktır:%run -b -c script_file2.py

Değişken gezgini

Doku not defterleri, PySpark (Python) hücreleri için geçerli Spark oturumundaki değişkenlerin adını, türünü, uzunluğunu ve değerini görüntüleyen 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 üst bilgisine tıklandığında tablodaki değişkenler sıralanır.

Değişken gezginini açmak veya gizlemek için not defteri şeridi görünümde Değişkenler'i seçin.

Değişkenlerin açıldığı yeri gösteren ekran görüntüsü.

Not

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

Hücre durumu göstergesi

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

Hücre çalıştırma durumu ayrıntılarını gösteren ekran görüntüsü.

Satır içi Spark iş göstergesi

Doku not defteri Spark tabanlıdır. Kod hücreleri Spark kümesinde uzaktan yürütülür. Spark işi ilerleme durumu göstergesi, iş yürütme durumunu anlamanıza yardımcı olacak gerçek zamanlı bir ilerleme çubuğuyla birlikte sağlanır. 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.

İlerleme göstergesinin yanında Hücre düzeyi gerçek zamanlı günlüğünü de bulabilirsiniz ve Tanılama , kodu iyileştirmeye ve hata ayıklamaya yardımcı olmak için size yararlı öneriler sağlayabilir.

Spark işlerinin ilerleme durumunun ayrıntılarının ekran görüntüsü.

Diğer eylemler bölümünde Spark uygulaması ayrıntıları sayfasına ve Spark web kullanıcı arabirimi sayfasına kolayca gidebilirsiniz.

Diğer eylemlerin ayrıntılarının ekran görüntüsü.

Gizli diziyi düzeltme

Not defterleri çalıştırılırken kimlik bilgilerinin yanlışlıkla sızdırılmasını önlemek için Doku not defterleri, hücre çıkışında görüntülenen gizli dizi değerlerini ile [REDACTED]değiştirmek için Gizli dizi yeniden düzenlemesini destekler. Gizli dizi redaksiyon Python, Scala ve R için geçerlidir.

Gizli dizi yeniden eylem ekran görüntüsü.

Not defterindeki sihirli komutlar

Yerleşik sihirli komutlar

Doku not defterlerinde tanıdık Ipython sihirli komutlarını kullanabilirsiniz. Şu anda kullanılabilen sihirli komutların listesini gözden geçirin.

Not

Doku işlem hattında desteklenen tek sihirli komutlar şunlardır: %%pyspark, %%spark, %%csharp, %%sql, %%configure.

Kullanılabilir çizgi sihri komutları: %lsmagic, %time, %timeit, %history, %run, %load, %alias, %alias_magic, %autoawait, %autocall, %automagic, %bookmark, %cd, %colors, %dhist, %dirs, %doctest_mode, %killbgscripts, %load_ext, %logoff, %logon, %logstart, %logstate, %logstop, %magic, %matplotlib, %page, %pastebin, %pdef, %pfile, %pinfo, %pinfo2, %popd, %pprint, %precision, %prun, %psearch, %psource, %pushd, %pwd, %pycat, %quickref, % rehashx, %reload_ext, %reset, %reset_selective, %sx, %system, %tb, %unalias, %unload_ext, %who, %who_ls, %who's, %xdel, %xmode.

Doku not defteri ayrıca geliştirilmiş %pip ve %conda kitaplık yönetimi komutlarını da destekler. Kullanım hakkında daha fazla bilgi için bkz . Microsoft Fabric'te Apache Spark kitaplıklarını yönetme.

Kullanılabilir hücre sihri komutları: %%time, %%timeit, %%capture, %%writefile, %%sql, %%pyspark, %%spark, %%csharp, %%configure, %%html, %%bash, %%markdown, %%perl, %%script, %%sh.

Özel sihirli komutlar

Ayrıca, özel gereksinimlerinizi karşılamak için daha fazla özel sihirli komut oluşturabilirsiniz. Bir örnek aşağıda verilmiştir:

  1. "MyLakehouseModule" adlı bir not defteri oluşturun.

    Özel büyü tanımlama ekran görüntüsü.

  2. Başka bir not defterinde "MyLakehouseModule" ve onun sihirli komutlarına başvurun. Bu işlem, farklı diller kullanan not defterleriyle projenizi kolayca düzenlemenizi sağlar.

    Özel büyü kullanma ekran görüntüsü.

IPython Pencere Öğeleri

IPython Pencere Öğeleri, tarayıcıda temsili olan olaylı Python nesneleridir. IPython Pencere Öğelerini tıpkı Jupyter not defteri gibi not defterinizde düşük kod denetimleri (örneğin, kaydırıcı veya metin kutusu) olarak kullanabilirsiniz. Şu anda yalnızca Python bağlamında çalışır.

IPython Pencere Öğelerini kullanmak için

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

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

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

    slider = widgets.IntSlider()
    display(slider)
    

    Çıkış alanında görüntülenen pencere öğesinin ekran görüntüsü.

  4. Aynı pencere öğesi örneğini birden çok kez işlemek için birden çok display() çağrısı kullanın. Birbirleriyle eşitlenmiş durumda kalırlar.

    slider = widgets.IntSlider()
    display(slider)
    display(slider)
    

    Bir pencere öğesinin birden çok kez gösterildiği 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)
    

    Pencere öğelerinin birden çok örneğini gösteren ekran görüntüsü.

Desteklenen pencere öğeleri

Pencere öğeleri türü Arabirim öğ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ı veya düzen pencere öğeleri Box, HBox, VBox, GridBox, Accordion, Tabs, Stacked

Bilinen sınırlamalar

  • Aşağıdaki pencere öğeleri henüz desteklenmemektedir. Aşağıdaki geçici çözümler kullanılabilir:

    Işlevsel -liği Geçici çözüm
    Çıkış pencere öğesi Stdout'a metin yazmak için bunun yerine print() işlevini kullanabilirsiniz.
    widgets.jslink() İki benzer pencere öğesini bağlamak için widgets.link() işlevini kullanabilirsiniz.
    FileUpload pencere öğesi Henüz desteklenmiyor.
  • Doku genel görüntüleme işlevi, birden çok pencere öğesinin tek bir çağrıda görüntülenmesini desteklemez (örneğin, display(a, b)). Bu davranış, IPython görüntüleme işlevinden farklıdır.

  • IPython pencere öğesi içeren bir not defterini kapatırsanız, ilgili hücreyi yeniden yürütene kadar bu öğeyi göremez veya onunla etkileşim kuramazsınız.

Not defterini tümleştirme

Parametre hücresi belirleme

Not defterinizi parametreleştirmek için üç noktayı (...) seçerek hücre araç çubuğundaki Diğer komutlarına erişin. Ardından Parametre hücresini değiştir'i seçerek hücreyi parametre hücresi olarak belirleyin.

Parametre hücresini aç/kapat seçeneğinin seçileceği yeri gösteren ekran görüntüsü.

Parametre hücresi, bir not defterini işlem hattıyla tümleştirmek için kullanışlıdır. İşlem hattı etkinliği 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

Parametrelerle bir not defteri oluşturduktan sonra, bunu Doku not defteri etkinliğiyle bir işlem hattından yürütebilirsiniz. etkinliği işlem hattı tuvalinize ekledikten sonra, Ayarlar sekmesinin Temel parametreler bölümünde parametre değerlerini ayarlayabilirsiniz.

İşlem hattından parametre değerlerinin atanacağı yeri gösteren ekran görüntüsü.

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

Spark oturumu yapılandırma sihirli komutu

Spark oturumunuzu %%configure sihirli komutuyla kişiselleştirebilirsiniz. Doku not defteri özelleştirilmiş sanal çekirdekleri, Sürücü ve Yürütücü belleğini, Spark özelliklerini, bağlama noktalarını, havuzu ve not defteri oturumunun varsayılan lakehouse'unu destekler. Bunlar hem etkileşimli not defteri hem de işlem hattı not defteri etkinliklerinde kullanılabilir. Not defterinizin başında %%configure komutunu çalıştırmanızı veya ayarların etkili olması için Spark oturumunu yeniden başlatmanızı öneririz.

%%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 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",
        "spark.log.level": "ALL"
    }
    "defaultLakehouse": {  // This overwrites the default lakehouse for current session
        "name": "<lakehouse-name>",
        "id": "<lakehouse-id>",
        "workspaceId": "<(optional) workspace-id-that-contains-the-lakehouse>" // Add workspace ID if it's from another workspace
    },
    "mountPoints": [
        {
            "mountPoint": "/myMountPoint",
            "source": "abfs[s]://<file_system>@<account_name>.dfs.core.windows.net/<path>"
        },
        {
            "mountPoint": "/myMountPoint1",
            "source": "abfs[s]://<file_system>@<account_name>.dfs.core.windows.net/<path1>"
        },
    ],
    "useStarterPool": false,  // Set to true to force using starter pool
    "useWorkspacePool": "<workspace-pool-name>"
}

Not

  • %%configure içinde "DriverMemory" ve "ExecutorMemory" için aynı değeri ayarlamanızı öneririz. "driverCores" ve "executorCores" değerleri de aynı olmalıdır.
  • "defaultLakehouse" Lakehouse gezgininde sabitlenmiş lakehouse'unuzun üzerine yazılır, ancak bu yalnızca geçerli not defteri oturumunuzda çalışır.
  • Doku işlem hatlarında %%configure kullanabilirsiniz, ancak ilk kod hücresinde ayarlanmadıysa işlem hattı çalıştırması oturumu yeniden başlatamadığı için başarısız olur.
  • mssparkutils.notebook.run dosyasında kullanılan %%configure yok sayılır, ancak %run not defterinde kullanılırsa yürütmeye devam eder.
  • Standart Spark yapılandırma özellikleri "conf" gövdesinde kullanılmalıdır. Doku, Spark yapılandırma özellikleri için birinci düzey başvuruyu desteklemez.
  • "spark.driver.cores", "spark.executor.cores", "spark.driver.memory", "spark.executor.memory" ve "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 işlem hattı çalıştırma not defteri etkinlik parametreleriyle değiştirmenize olanak tanır. %%configure code 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:

{
      "parameterName": "paramterNameInPipelineNotebookActivity",
      "defaultValue": "defaultValueIfNoParamterFromPipelineNotebookActivity"
} 
%%configure  

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

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

İşlem hattı çalıştırması sırasında işlem hattı not defteri etkinlik ayarlarını aşağıdaki gibi yapılandırabilirsiniz:

Parametreli oturumun yapılandırıldığı yeri gösteren ekran görüntüsü.

Oturum yapılandırmasını değiştirmek istiyorsanız işlem hattı not defteri etkinlik parametrelerinin adı not defterindekiyle parameterName aynı olmalıdır. Bu işlem hattı çalıştırma örneğinde%% driverCores configure içinde 8 ile değiştirilir ve livy.rsc.sql.num-rows 4000 ile değiştirilir.

Not

  • %%configure magic komutunu kullandığınız için işlem hattı çalıştırması başarısız olursa%% configure magic hücresini not defterinin etkileşimli modunda çalıştırarak daha fazla hata bilgisi bulabilirsiniz.
  • Not defteri zamanlanmış çalıştırmaları parametreli oturum yapılandırmasını desteklemez.

Not defterinde Python günlüğü

Python günlüklerini bulabilir ve burada gösterilen örnek kod gibi 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")

Kısayol tuşları

Jupyter Notebooks'a benzer şekilde, Doku not defterlerinin kalıcı bir kullanıcı arabirimi vardır. Klavye, not defteri hücresinin hangi modda olduğuna bağlı olarak farklı şeyler yapar. Doku 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. ESC tuşuna basarak veya fareyi kullanarak bir hücrenin düzenleyici alanının dışından seçim yaparak Komut moduna geçin.

    Komut modunda bir hücrenin ekran görüntüsü.

  • Düzenleme modu, düzenleyici alanına yazmanızı isteyen bir metin imlecinden gösterilebilir. Bir hücre Düzenleme modundayken, hücreye yazabilirsiniz. Hücrenin düzenleyici alanını seçmek için Enter tuşuna basarak veya fareyi kullanarak Düzenleme moduna geçin.

    Düzenleme modundaki bir hücrenin ekran görüntüsü.

Komut modunda kısayol tuşları

Eylem Not defteri kısayolları
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ı

Aşağıdaki tuş vuruşu kısayollarını kullanarak Düzenleme modundayken Doku not defterlerinde kolayca gezinebilir ve kod çalıştırabilirsiniz.

Eylem 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 veya Açıklamayı Kaldırma Ctrl + /
Açıklama: Ctrl + K + C
Açıklamayı kaldırma: Ctrl + K + U
Ö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

Tüm kısayol tuşlarını bulmak için not defteri şeridinde Görünüm'ü ve ardından Tuş Bağlamaları'nı seçin.