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
- Birincil dil ayarlama
- Birden çok dil kullanma
- IDE stili IntelliSense
- Kod parçacıkları
- Kod parçacıkları eklemek için sürükleyip bırakın
- Resim eklemek için sürükleyip bırakın
- Araç çubuğu düğmeleriyle metin hücresini biçimlendirme
- Hücre işlemini geri alma veya yineleme
- Hücreyi taşıma
- Hücre silme
- Hücre girişini daraltma
- Hücre çıkışını daraltma
- Hücre çıkış güvenliği
- Hücreyi kilitleme veya dondurma
- Not defteri içeriği
- Markdown katlama
- Bulma ve değiştirme
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.
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.
Magic komutu | Dil | Açıklama |
---|---|---|
%%pyspark | Python | Apache Spark Bağlamı için bir Python sorgusu yürütür. |
%%spark | Scala | Apache Spark Bağlamı için bir Scala sorgusu yürütür. |
%%sql | SparkSQL | Apache Spark Bağlamında SparkSQL sorgusu yürütür. |
%%html | Html | Apache Spark Bağlamı'ndaki bir HTML sorgusu yürütür. |
%%sparkr | R | Apache Spark Bağlamı için 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 | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Spark (Scala) | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
SparkSQL | Yes | Yes | Yes | Yes | Yes | Hayı | Yes | Yes |
SparkR | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Not
IntelliSense kod tamamlama özelliğini kullanmak için etkin bir Apache 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:
- Apache Spark DataFrame olarak veri 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ı 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.
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.
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.
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.
Desteklenen geri alma hücre işlemleri:
- Hücre ekleme veya silme. Geri Al
seçerek silinen işlemleri 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 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. 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ü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.
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.
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.
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.
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.
Ç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.
Başvuru çalıştırması
Not Defteri çalıştırma başvurusu
Notebookutils 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
,bool
vestring
. 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ı bulduğunu ve çalıştırdığı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:
-
Notebook1'de (kök Not Defteri) script_file1.py çalıştırmak için kod şöyle olacaktır:
%run -b script_file1.py
-
Notebook2(geçerli Not Defteri) içinde script_file2.py çalıştırmak için kod şu şekilde olabilir:
%run -b -c script_file2.py
-
Notebook1'de (kök Not Defteri) script_file1.py çalıştırmak için kod şöyle olacaktır:
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.
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.
Satır içi Apache Spark iş göstergesi
Doku not defteri Apache Spark tabanlıdır. Kod hücreleri Apache 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.
Diğer eylemler bölümünde Spark uygulaması ayrıntıları sayfasına ve Spark web kullanıcı arabirimi sayfasına kolayca gidebilirsiniz.
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 değiştirmek için Gizli dizi yeniden düzenlemesini[REDACTED]
. Gizli dizi redaksiyon Python, Scala ve R için geçerlidir.
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:
"MyLakehouseModule" adlı bir not defteri oluşturun.
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.
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
Jupyter Pencere Öğesi çerçevesini kullanmak için önce ipywidgets modülünü içeri aktarın.
import ipywidgets as widgets
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)
Hücreyi çalıştırın. Pencere öğesi çıkış alanında görüntülenir.
slider = widgets.IntSlider() display(slider)
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)
İ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ü | 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.
Interact işlevi (ipywidgets.interact) desteklenmez.
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ü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.
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, Apache 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"]
"driverCores": 4, // Recommended values: [4, 8, 16, 32, 64]
"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": "<(optional) 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>"
},
],
"environment": {
"id": "<environment-id>",
"name": "<environment-name>"
},
"sessionTimeoutInSeconds": 1200,
"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.
- notebookutils.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:
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")
Giriş komutlarının geçmişini görüntüleme
Doku not defteri, standart Jupyter Ipython komutuyla karşılaştırılarak geçerli oturumda yürütülen giriş komut geçmişini yazdırmak için magic komutunu %history
%history
destekler ve not defterinde birden çok dil bağlamı için çalışır.
%history [-n] [range [range ...]]
Seçenekler için:
- -n: Yürütme numarasını yazdırın.
Aralık şu durumlarda olabilir:
- N: Yürütülen N. hücrenin kodunu yazdırın.
- M-N: Kodu Mth'den yürütülen N. hücreye yazdırın.
Örnek:
- 1. ile 2. yürütülen hücreden giriş geçmişini yazdırın:
%history -n 1-2
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.
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.
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şı | 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.