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 . Databricks etkileşimli hata ayıklayıcısını kullanma.

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ılabilir tabloları ve birimleri 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 not defteri verileri simgesi .

Sizin için düğmesi yalnızca geçerli oturumda kullandığınız veya daha önce Sık Kullanılan olarak işaretlediğiniz tabloları görüntüler.

Filtre kutusuna metin yazarken, görüntü yalnızca yazdığınız metni içeren öğeleri gösterecek şekilde değişir. Yalnızca geçerli oturumda açık olan veya açılmış olan öğeler görüntülenir. Filtre kutusu, not defteri için kullanılabilir kataloglar, şemalar ve tablolar için tam bir arama yapmaz.

Kebap menüsünü açmak Kebap menüsü için, imleci gösterildiği gibi öğenin adının üzerine getirin:

şema tarayıcısında kebap menüsü

Öğe 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 öğeyi gösteren yeni bir sekme açılır.
  • Katalog, şema veya tablo yolunu alın. Kopyala ... öğesini seçin . ögesinin kebap menüsünden yolu .
  • Sık Kullanılanlar'a tablo ekleyin. Tablonun kebap menüsünden Sık kullanılanlara tablo ekle'yi seçin.

Öğe bir katalog, şema veya birimse, öğenin yolunu kopyalayabilir veya Katalog Gezgini'nde açabilirsiniz.

Bir hücreye doğrudan tablo veya sütun adı eklemek için:

  1. İmlecinizi, adı girmek istediğiniz konumdaki hücrede tıklatın.
  2. İmlecinizi şema tarayıcısında tablo adının veya sütun adının üzerine getirin.
  3. Öğe adının sağında görüntülenen çift oka çift oktı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.

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.

Eşleşen metin

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 Sil Simgesi veya basın.

Değişken gezgini

Not defteri kullanıcı arabiriminde Python, Scala ve R değişkenlerini doğrudan gözlemleyebilirsiniz. Databricks Runtime 12.2 LTS ve üzeri üzerinde Python için değişkenler bir hücre çalışırken güncelleştirilir. Scala, R ve Databricks Runtime 11.3 LTS ve altındaki Python için, bir hücrenin çalışması bittikten sonra değişkenler güncelleştirilir.

Değişken gezginini açmak için sağ kenar çubuğuna tıklayın değişken gezgini simgesi. Değişken gezgini açılır ve not defterinde şu anda tanımlanmış olan her değişken için şekil de dahil olmak üzere değer ve veri türünü gösterir. (Şekli hesaplamak hesaplama açısından pahalı olabileceğinden PySpark veri çerçevesinin şekli '?' şeklindedir.)

Görünümü filtrelemek için arama kutusuna metin girin. Siz yazarken liste otomatik olarak filtreleniyor.

Siz not defteri hücrelerini çalıştırırken değişken değerler otomatik olarak güncelleştirilir.

örnek değişken gezgini paneli

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.

birden çok hücre seçme

Seçili hücreleri çalıştırmak için Çalıştır Seçili hücreleri çalıştır'ı >seç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.

  1. Çalıştırmak istediğiniz satırları vurgulayın.

  2. Çalıştır Seçili metni çalıştır'ı seçin veya klavye kısayolunu+EnterShift+Ctrl kullanın.> Metin vurgulanmamışsa, Seçili Metni Çalıştır geçerli satırı yürütür.

    seçili satırları çalış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.

, %pipve %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 hücrelerini biçimlendirme

Önemli

Bu özellik Genel Önizlemededir.

Azure Databricks, not defterindeki Black kullanarak Python kod biçimlendirmesini destekler. Not defterinin yüklü ve tokenize-rt Python paketlerinin yüklü olduğu bir kümeye black eklenmesi gerekir ve Siyah biçimlendirici not defterinin bağlı olduğu kümede yürütülür.

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.0tokenize-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.

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 %sqlhü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 %pythonhücrelerde görünür.
    • 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 %pythonkullananları %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 %pythonkullananları %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 sürüm geçmişi simgesi . 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:

  1. Sürüme tıklayın.

  2. Şimdi kaydet'e tıklayın.

    Açıklamayı kaydet

  3. Not Defteri Sürümünü Kaydet iletişim kutusunda bir açıklama girin.

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

  1. Sürüme tıklayın.

  2. Bu sürümü geri yükle'ye tıklayın.

    Sürümü geri yükleme

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

  1. Sürüme tıklayın.

  2. Çöp kutusu simgesine Çöp Kutusutıklayın.

    Sürümü sil

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

  1. Dosya > Sürüm geçmişini temizle'yi seçin.
  2. 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.

Not defteri varsayılan dili

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.

Hücre dili açılan listesi

Alternatif olarak, bir hücrenin başındaki language magic komutunu %<language> kullanabilirsiniz. Desteklenen sihirli komutlar şunlardır: %python, %r, %scalave %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ıza dbutils izin verir. Örneğin, dosyaları listelemek dbutils.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 _sqldfatanmış 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 TABLEanahtar sözcüklerini CACHE TABLE kullanıyorsa, sonuçlar Python DataFrame olarak kullanılamaz.

Ekran görüntüsünde bir örnek gösterilmektedir:

sql sonuçları veri çerçevesi

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:

  1. Hücreyi çalıştırın.

  2. Şimdi Çalıştır'a tıklayın. Hücre hemen yürütülür.

    Geçerli çalışan hücreyle paralel bir SQL hücresi çalıştırma

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

FileStore'da depolanan görüntüleri görüntülemek için söz dizimini kullanın:

%md
![test](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:

Markdown hücresindeki resim

resim hücrede işlenir:

İşlenen görüntü

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:

İşlenen denklem 1

ve

%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:

İşlenen denklem 2

HTML ekle

işlevini displayHTMLkullanarak 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.

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>