Databricks not defterlerinde kod geliştirme
Bu sayfada, otomatik tamamlama, Python ve SQL için otomatik biçimlendirme, not defterinde Python ve SQL'i birleştirme ve not defteri sürüm geçmişini izleme gibi Databricks not defterlerinde kod geliştirme adımları açıklanmaktadır.
Düzenleyiciyle kullanılabilen otomatik tamamlama, değişken seçimi, çoklu imleç desteği ve yan yana farklar gibi gelişmiş işlevler hakkında daha fazla bilgi için bkz . Databricks not defterini ve dosya düzenleyicisini kullanma.
Not defterini veya dosya düzenleyicisini kullandığınızda, kod oluşturmanıza, açıklamanıza ve hata ayıklamanıza yardımcı olmak için Databricks Yardımcısı kullanılabilir. Daha fazla bilgi için bkz . Databricks Yardımcısı'nı kullanma.
Databricks not defterleri, Python not defterleri için yerleşik bir etkileşimli hata ayıklayıcı da içerir. Bkz. Not defterlerinde hata ayıklama.
Databricks Yardımcısı'ndan kodlama yardımı alma
Databricks Yardımcısı, databricks'in içinde daha üretken olmanız için konuşma arabirimi kullanarak etkileşim kurabileceğiniz bağlama duyarlı bir yapay zeka yardımcısıdır. Görevinizi İngilizce açıklayabilir ve yardımcının Python kodu veya SQL sorguları oluşturmasına, karmaşık kodu açıklamasına ve hataları otomatik olarak düzeltmesine izin vekleyebilirsiniz. Yardımcı, kişiselleştirilmiş yanıtlar sağlamak amacıyla şirketiniz genelindeki tablolarınızı, sütunlarınızı, açıklamalarınızı ve popüler veri varlıklarınızı anlamak için Unity Kataloğu meta verilerini kullanır.
Databricks Yardımcısı aşağıdaki görevlerde size yardımcı olabilir:
- Kod oluşturun.
- Hataları tanımlamak ve düzeltme önermek de dahil olmak üzere kodda hata ayıklama.
- Kodu dönüştürme ve iyileştirme.
- Kodu açıklama.
- Azure Databricks belgelerinde ilgili bilgileri bulmanıza yardımcı olur.
Daha verimli bir şekilde kod oluşturmanıza yardımcı olması için Databricks Yardımcısı'nı kullanma hakkında bilgi için bkz . Databricks Yardımcısı'nı kullanma. Databricks Yardımcısı hakkında genel bilgi için bkz . DatabricksIQ destekli özellikler.
Düzenlemek için not defterine erişme
Not defterini açmak için çalışma alanı Arama işlevini kullanın veya çalışma alanı tarayıcısını kullanarak not defterine gidin ve not defterinin adına veya simgesine tıklayın.
Verilere göz atma
Not defteri için kullanılabilen Unity Kataloğu nesnelerini keşfetmek için şema tarayıcısını kullanın. Şema tarayıcısını açmak için not defterinin sol tarafına tıklayın .
Sizin için düğmesi yalnızca geçerli oturumda kullandığınız veya daha önce Sık Kullanılan olarak işaretlediğiniz nesneleri görüntüler.
Filtre kutusuna metin yazarken, görüntü yalnızca yazdığınız metni içeren nesneleri gösterecek şekilde değişir. Yalnızca geçerli oturumda açık olan veya açılmış nesneler görüntülenir. Filtre kutusu, not defteri için kullanılabilir kataloglar, şemalar, tablolar ve birimler için tam bir arama yapmaz.
Kebap menüsünü açmak için imleci, gösterildiği gibi nesnenin adının üzerine getirin:
Nesne bir tabloysa aşağıdakileri yapabilirsiniz:
- Tablodaki verilerin önizlemesini görüntülemek için otomatik olarak bir hücre oluşturun ve çalıştırın. Tablonun kebap menüsünden Yeni hücrede Önizleme'yi seçin.
- Katalog Gezgini'nde bir kataloğu, şemayı veya tabloyu görüntüleyin. Kebap menüsünden Katalog Gezgini'nde Aç'ı seçin. Seçili nesneyi gösteren yeni bir sekme açılır.
- Katalog, şema veya tablo yolunu alın. Kopyala ... öğesini seçin . nesnenin kebap menüsünden yolu .
- Sık Kullanılanlar'a tablo ekleyin. Tablonun kebap menüsünde Sık kullanılanlara ekle'yi seçin.
Nesne bir katalog, şema veya birimse, nesnenin yolunu kopyalayabilir veya Katalog Gezgini'nde açabilirsiniz.
Bir hücreye doğrudan tablo veya sütun adı eklemek için:
- İmlecinizi, adı girmek istediğiniz konumdaki hücrede tıklatın.
- İmlecinizi şema tarayıcısında tablo adının veya sütun adının üzerine getirin.
- Nesne adının sağında görüntülenen çift oka tıklayın.
Klavye kısayolları
Klavye kısayollarını görüntülemek için Yardım > Klavye kısayolları'na tıklayın. Kullanılabilen klavye kısayolları, imlecin bir kod hücresinde (düzenleme modu) olup olmamasına (komut modu) bağlıdır.
Komut paleti
Komut paletini kullanarak not defterinde hızlı bir şekilde eylem gerçekleştirebilirsiniz. Not defteri eylemleri panelini açmak için çalışma alanının sağ alt köşesine tıklayın veya MacOS'ta Cmd + Shift + P kısayolunu veya Windows'da Ctrl + Shift + P kısayolunu kullanın.
Metin bulma ve değiştirme
Not defteri içindeki metni bulmak ve değiştirmek için Bul ve Değiştir'i düzenle'yi >seçin. Geçerli eşleşme turuncu ve diğer tüm eşleşmeler sarı renkle vurgulanır.
Geçerli eşleşmeyi değiştirmek için Değiştir'e tıklayın. Not defterindeki tüm eşleşmeleri değiştirmek için Tümünü Değiştir'e tıklayın.
Eşleşmeler arasında gezinmek için Önceki ve Sonraki düğmelerine tıklayın. Önceki ve sonraki eşleşmelere gitmek için shift+enter ve enter tuşlarına da basabilirsiniz.
Bulma ve değiştirme aracını kapatmak için esc tuşuna tıklayın veya basın.
Seçili hücreleri çalıştırma
Tek bir hücreyi veya hücre koleksiyonunu çalıştırabilirsiniz. Tek bir hücre seçmek için hücrede herhangi bir yere tıklayın. Birden çok hücre seçmek için MacOS'ta Ctrl
veya Windows'ta tuşu basılı Command
tutun ve ekran görüntüsünde gösterildiği gibi metin alanının dışındaki hücreye tıklayın.
Seçili komutu çalıştırmak için Bu komutun davranışı, not defterinin bağlı olduğu kümeye bağlıdır.
- Databricks Runtime 13.3 LTS veya üzerini çalıştıran bir kümede, seçili hücreler ayrı ayrı yürütülür. Bir hücrede hata oluşursa, yürütme sonraki hücrelerle devam eder.
- Databricks Runtime 14.0 veya üzerini çalıştıran bir kümede veya sql ambarı üzerinde seçili hücreler toplu iş olarak yürütülür. Herhangi bir hata yürütmeyi durdurur ve tek tek hücrelerin yürütülmesini iptal edemezsiniz. Tüm hücrelerin yürütülmesini durdurmak için Kesme düğmesini kullanabilirsiniz.
Kodunuzu modüler hale
Önemli
Bu özellik Genel Önizlemededir.
Databricks Runtime 11.3 LTS ve üzeri ile Azure Databricks çalışma alanında kaynak kod dosyaları oluşturup yönetebilir ve ardından bu dosyaları gerektiği gibi not defterlerinize aktarabilirsiniz.
Kaynak kod dosyalarıyla çalışma hakkında daha fazla bilgi için bkz . Databricks not defterleri arasında kod paylaşma ve Python ve R modülleriyle çalışma.
Seçili metni çalıştırma
Not defteri hücresindeki kodu veya SQL deyimlerini vurgulayabilir ve yalnızca bu seçimi çalıştırabilirsiniz. Bu, kod ve sorgularda hızlı bir şekilde yineleme yapmak istediğinizde kullanışlıdır.
Çalıştırmak istediğiniz satırları vurgulayın.
Çalıştır Seçili metni çalıştır'ı seçin veya klavye kısayolunu+
Enter
Shift
+Ctrl
kullanın.> Metin vurgulanmamışsa, Seçili Metni Çalıştır geçerli satırı yürütür.
Hücrede karışık diller kullanıyorsanız, satırı seçime %<language>
eklemeniz gerekir.
Seçili metni çalıştır seçeneği, vurgulanan seçimde varsa daraltılmış kodu da yürütür.
, %pip
ve %sh
gibi %run
özel hücre komutları desteklenir.
Seçili metni birden çok çıkış sekmesi olan hücrelerde (bir veri profili veya görselleştirme tanımladığınız hücreler) kullanamazsınız.
Kod hücrelerini biçimlendirme
Azure Databricks, not defteri hücrelerinde Python ve SQL kodunu hızlı ve kolay bir şekilde biçimlendirmenizi sağlayan araçlar sağlar. Bu araçlar kodunuzu biçimlendirilmiş tutma çabasını azaltır ve not defterlerinizde aynı kodlama standartlarının uygulanmasına yardımcı olur.
Python siyah biçimlendirici kitaplığı
Önemli
Bu özellik Genel Önizlemededir.
Azure Databricks, not defteri içinde siyah kullanarak Python kod biçimlendirmesini destekler. Not defterinin ve tokenize-rt
Python paketlerinin yüklü olduğu bir kümeye black
eklenmesi gerekir.
Databricks Runtime 11.3 LTS ve üzeri üzerinde Azure Databricks ve tokenize-rt
'yi önceden yüklürblack
. Bu kitaplıkları yüklemenize gerek kalmadan biçimlendiriciyi doğrudan kullanabilirsiniz.
Databricks Runtime 10.4 LTS ve altında, Python biçimlendiricisini kullanmak için not defterinize veya kümenize PyPI'den ve yüklemeniz black==22.3.0
tokenize-rt==4.2.1
gerekir. Not defterinizde aşağıdaki komutu çalıştırabilirsiniz:
%pip install black==22.3.0 tokenize-rt==4.2.1
veya kitaplığı kümenize yükleyin.
Kitaplıkları yükleme hakkında daha fazla ayrıntı için bkz . Python ortam yönetimi.
Databricks Git klasörlerindeki dosyalar ve not defterleri için Python biçimlendiricisini dosyaya pyproject.toml
göre yapılandırabilirsiniz. Bu özelliği kullanmak için Git klasörü kök dizininde bir pyproject.toml
dosya oluşturun ve Siyah yapılandırma biçimine göre yapılandırın. Dosyadaki [tool.black] bölümünü düzenleyin. Yapılandırma, bu Git klasöründeki herhangi bir dosyayı ve not defterini biçimlendirdiğinizde uygulanır.
Python ve SQL hücrelerini biçimlendirme
Kodu biçimlendirmek için not defterinde CAN EDIT izniniz olmalıdır.
Azure Databricks, SQL'i ve Python için siyah kod biçimlendiricisini biçimlendirmek için Gethue/sql-formatter kitaplığını kullanır.
Biçimlendiriciyi aşağıdaki yollarla tetikleyebilirsiniz:
Tek bir hücreyi biçimlendirme
- Klavye kısayolu: Cmd+Shift+F tuşlarına basın.
- Komut bağlam menüsü:
- SQL hücresini biçimlendir: SQL hücresinin komut bağlamı açılan menüsünde SQL'i Biçimlendir'i seçin. Bu menü öğesi yalnızca SQL not defteri hücrelerinde veya dil büyüsüne sahip
%sql
hücrelerde görünür. - Python hücresini biçimlendirme: Python hücresinin komut bağlamı açılan menüsünde Python'ı Biçimlendir'i seçin. Bu menü öğesi yalnızca Python not defteri hücrelerinde veya dil büyüsüne sahip
%python
hücrelerde görünür.
- SQL hücresini biçimlendir: SQL hücresinin komut bağlamı açılan menüsünde SQL'i Biçimlendir'i seçin. Bu menü öğesi yalnızca SQL not defteri hücrelerinde veya dil büyüsüne sahip
- Not Defteri Düzenleme menüsü: Bir Python veya SQL hücresi seçin ve ardından Hücre Biçimlerini Düzenle'yi> seçin.
Birden çok hücreyi biçimlendirme
Birden çok hücreyi seçin ve ardından Hücre Biçimlerini Düzenle'yi >seçin. Birden fazla dilde hücre seçerseniz, yalnızca SQL ve Python hücreleri biçimlendirilir. Bu, ve
%python
kullananları%sql
içerir.Not defterindeki tüm Python ve SQL hücrelerini biçimlendirme
Biçim Not Defterini Düzenle'yi > seçin. Not defteriniz birden fazla dil içeriyorsa, yalnızca SQL ve Python hücreleri biçimlendirilir. Bu, ve
%python
kullananları%sql
içerir.
Kod biçimlendirme sınırlamaları
- Siyah, 4 boşluklu girinti için PEP 8 standartlarını uygular. Girinti yapılandırılamaz.
- SQL UDF içindeki eklenmiş Python dizelerini biçimlendirme desteklenmez. Benzer şekilde, Python UDF içindeki SQL dizelerini biçimlendirme desteklenmez.
Sürüm geçmişi
Azure Databricks not defterleri, not defteri sürümlerinin geçmişini tutar ve not defterinin önceki anlık görüntülerini görüntülemenize ve geri yüklemenize olanak sağlar. Sürümler üzerinde aşağıdaki eylemleri gerçekleştirebilirsiniz: açıklama ekleme, sürümleri geri yükleme ve silme ve sürüm geçmişini temizleme.
Ayrıca Databricks'teki çalışmanızı uzak bir Git deposuyla eşitleyebilirsiniz.
Not defteri sürümlerine erişmek için sağ kenar çubuğuna tıklayın . Not defteri sürüm geçmişi görüntülenir. Dosya > Sürümü geçmişi'yi de seçebilirsiniz.
Açıklama ekle
En son sürüme açıklama eklemek için:
Sürüme tıklayın.
Şimdi kaydet'e tıklayın.
Not Defteri Sürümünü Kaydet iletişim kutusunda bir açıklama girin.
Kaydet'e tıklayın. Not defteri sürümü, girilen açıklamayla birlikte kaydedilir.
Bir sürümü geri yükleme
Sürümü geri yüklemek için:
Sürüme tıklayın.
Bu sürümü geri yükle'ye tıklayın.
Onayla'yı tıklatın. Seçilen sürüm, not defterinin en son sürümü olur.
Sürümü silme
Sürüm girdisini silmek için:
Sürüme tıklayın.
Çöp kutusu simgesine tıklayın.
Evet, sil'e tıklayın. Seçilen sürüm geçmişten silinir.
Sürüm geçmişini temizle
Sürüm geçmişi temizlendikten sonra kurtarılamaz.
Not defterinin sürüm geçmişini temizlemek için:
- Dosya > Sürüm geçmişini temizle'yi seçin.
- Evet, temizle'ye tıklayın. Not defteri sürüm geçmişi temizlendi.
Not defterlerindeki kod dilleri
Varsayılan dili ayarlama
Not defterinin varsayılan dili, not defteri adının yanında görünür.
Varsayılan dili değiştirmek için dil düğmesine tıklayın ve açılan menüden yeni dili seçin. Mevcut komutların çalışmaya devam ettiğinden emin olmak için, önceki varsayılan dilin komutlarına otomatik olarak bir dil sihirli komutu eklenir.
Dilleri karıştırma
Varsayılan olarak, hücreler not defterinin varsayılan dilini kullanır. Dil düğmesine tıklayıp açılan menüden bir dil seçerek hücredeki varsayılan dili geçersiz kılabilirsiniz.
Alternatif olarak, bir hücrenin başındaki language magic komutunu %<language>
kullanabilirsiniz. Desteklenen sihirli komutlar şunlardır: %python
, %r
, %scala
ve %sql
.
Not
Bir dil sihirli komutunu çağırdığınızda, komut not defterinin yürütme bağlamında REPL'ye gönderilir. Bir dilde (ve dolayısıyla bu dil için REPL'de) tanımlanan değişkenler başka bir dilin REPL'sinde kullanılamaz. REPL'ler durumu yalnızca DBFS'deki dosyalar veya nesne depolamadaki nesneler gibi dış kaynaklar aracılığıyla paylaşabilir.
Not defterleri birkaç yardımcı sihirli komutu da destekler:
%sh
: Not defterinizde kabuk kodu çalıştırmanıza olanak tanır. Kabuk komutunun çıkış durumu sıfır olmayansa hücreyi başarısız yapmak için seçeneğini ekleyin-e
. Bu komut yalnızca Apache Spark sürücüsünde çalışır, çalışanlar üzerinde çalışmaz. Tüm düğümlerde kabuk komutu çalıştırmak için bir init betiği kullanın.%fs
: Dosya sistemi komutlarını kullanmanızadbutils
izin verir. Örneğin, dosyaları listelemekdbutils.fs.ls
için komutunu çalıştırmak için bunun yerine belirtebilirsiniz%fs ls
. Daha fazla bilgi için bkz . Azure Databricks'te dosyalarla çalışma.%md
: Metin, resimler, matematiksel formüller ve denklemler dahil olmak üzere çeşitli belge türlerini eklemenize olanak tanır. Sonraki bölüme bakın.
Python komutlarında SQL söz dizimi vurgulama ve otomatik tamamlama
Söz dizimi vurgulama ve SQL otomatik tamamlama , komut gibi spark.sql
bir Python komutunun içinde SQL kullandığınızda kullanılabilir.
Python kullanarak Python not defterlerinde SQL hücre sonuçlarını keşfetme
VERILERI SQL kullanarak yüklemek ve Python kullanarak keşfetmek isteyebilirsiniz. Databricks Python not defterinde, SQL dil hücresindeki tablo sonuçları değişkenine _sqldf
atanmış bir Python DataFrame olarak otomatik olarak kullanılabilir hale gelir.
Databricks Runtime 13.3 LTS ve üzerinde, IPython'un çıkış önbelleğe alma sistemini kullanarak DataFrame sonucuna da erişebilirsiniz. İstem sayacı, hücre sonuçlarının en altında görüntülenen çıkış iletisinde görüntülenir. Gösterilen örnekte, sonucu olarak Out[2]
başvurmanız gerekir.
Not
Bir hücre her
%sql
çalıştırıldığında değişken_sqldf
yeniden atanabilir. DataFrame sonucuna başvurunun kaybolmasını önlemek için, sonraki%sql
hücreyi çalıştırmadan önce bunu yeni bir değişken adına atayın:new_dataframe_name = _sqldf
Sorgu parametreleştirme için bir pencere öğesi kullanıyorsa, sonuçlar Python DataFrame olarak kullanılamaz.
Sorgu veya
UNCACHE TABLE
anahtar sözcükleriniCACHE TABLE
kullanıyorsa, sonuçlar Python DataFrame olarak kullanılamaz.
Ekran görüntüsünde bir örnek gösterilmektedir:
SQL hücrelerini paralel olarak yürütme
Bir komut çalışırken ve not defteriniz etkileşimli bir kümeye bağlıyken, geçerli komutla aynı anda bir SQL hücresi çalıştırabilirsiniz. SQL hücresi yeni, paralel bir oturumda yürütülür.
Bir hücreyi paralel olarak yürütmek için:
Hücreyi çalıştırın.
Şimdi çalıştır üzerine tıklayın. Hücre hemen yürütülür.
Hücre yeni bir oturumda çalıştırıldığından, paralel olarak yürütülen hücreler için geçici görünümler, UDF'ler ve örtük Python DataFrame (_sqldf
) desteklenmez. Ayrıca, varsayılan katalog ve veritabanı adları paralel yürütme sırasında kullanılır. Kodunuz farklı bir katalog veya veritabanındaki bir tabloya başvuruyorsa, üç düzeyli ad alanını (catalog
..schema
table
) kullanarak tablo adını belirtmeniz gerekir.
SQL ambarı üzerinde SQL hücreleri yürütme
SQL analiz için iyileştirilmiş bir işlem türü olan SQL ambarı üzerindeki Databricks not defterinde SQL komutlarını çalıştırabilirsiniz. Bkz. SQL ambarı ile not defteri kullanma.
Görüntüleri görüntüleme
Azure Databricks, Markdown hücrelerinde görüntülerin görüntülenmesini destekler. Çalışma Alanı, Birimler veya Dosya Deposu'nda depolanan görüntüleri görüntüleyebilirsiniz.
Çalışma Alanında depolanan görüntüleri görüntüleme
Çalışma Alanında depolanan görüntüleri görüntülemek için mutlak yolları veya göreli yolları kullanabilirsiniz. Çalışma Alanında depolanan bir görüntüyü görüntülemek için aşağıdaki söz dizimini kullanın:
%md
![my_test_image](/Workspace/absolute/path/to/image.png)
![my_test_image](./relative/path/to/image.png)
Birimlerde depolanan görüntüleri görüntüleme
Birimlerde depolanan görüntüleri görüntülemek için mutlak yolları kullanabilirsiniz. Birimler'de depolanan bir görüntüyü görüntülemek için aşağıdaki söz dizimini kullanın:
%md
![my_test_image](/Volumes/absolute/path/to/image.png)
FileStore'da depolanan görüntüleri görüntüleme
FileStore'da depolanan görüntüleri görüntülemek için aşağıdaki söz dizimini kullanın:
%md
![my_test_image](files/image.png)
Örneğin, FileStore'da Databricks logo görüntüsü dosyanız olduğunu varsayalım:
dbfs ls dbfs:/FileStore/
databricks-logo-mobile.png
Markdown hücresine aşağıdaki kodu eklediğinizde:
resim hücrede işlenir:
Resimleri sürükleyip bırakma
Görüntüleri yerel dosya sisteminizden Markdown hücrelerine sürükleyip bırakabilirsiniz. Görüntü geçerli Çalışma Alanı dizinine yüklenir ve hücrede görüntülenir.
Matematiksel denklemleri görüntüleme
Not defterleri, matematiksel formülleri ve denklemleri görüntülemek için KaTeX'i destekler. Örneğin,
%md
\\(c = \\pm\\sqrt{a^2 + b^2} \\)
\\(A{_i}{_j}=B{_i}{_j}\\)
$$c = \\pm\\sqrt{a^2 + b^2}$$
\\[A{_i}{_j}=B{_i}{_j}\\]
şu şekilde işlenir:
ile
%md
\\( f(\beta)= -Y_t^T X_t \beta + \sum log( 1+{e}^{X_t\bullet\beta}) + \frac{1}{2}\delta^t S_t^{-1}\delta\\)
where \\(\delta=(\beta - \mu_{t-1})\\)
şu şekilde işlenir:
HTML ekle
işlevini displayHTML
kullanarak not defterine HTML ekleyebilirsiniz. Bunun nasıl yapıldığını gösteren bir örnek için not defterlerinde HTML, D3 ve SVG'ye bakın.
Not
displayHTML
iframe etki alanından databricksusercontent.com
sunulur ve iframe korumalı alanı özniteliğini allow-same-origin
içerir. databricksusercontent.com
tarayıcınızdan erişilebilir olmalıdır. Şu anda kurumsal ağınız tarafından engelleniyorsa, izin verilenler listesine eklenmesi gerekir.
Diğer not defterlerine bağlanma
Göreli yolları kullanarak Markdown hücrelerindeki diğer not defterlerine veya klasörlere bağlanabilirsiniz. href
Bir bağlayıcı etiketinin özniteliğini göreli yol olarak belirtin, bir ile $
başlayıp Unix dosya sistemlerindekiyle aynı deseni izleyin:
%md
<a href="$./myNotebook">Link to notebook in same folder as current notebook</a>
<a href="$../myFolder">Link to folder in parent folder of current notebook</a>
<a href="$./myFolder2/myNotebook2">Link to nested notebook</a>