Aracılığıyla paylaş


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.

Gelişmiş işlevler hakkında daha fazla bilgi için, örneğin otomatik tamamlama, değişken seçimi, çoklu imleç desteği ve yan yana karşılaştırmalar, Databricks Not Defteri ve Dosya Düzenleyicisine gezinmebölümüne bakın.

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.

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.

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 black Python paketlerinin yüklü olduğu bir kümeye tokenize-rt eklenmesi gerekir.

Databricks Runtime 11.3 LTS ve üzeri üzerinde Azure Databricks ve black'yi önceden yüklürtokenize-rt. 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.

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 biçimlendirme 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: Bir Python hücresinin komut bağlamı açılan menüsünde Format Python seçeneğini 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üzenle menüsü: Bir Python veya SQL hücresi seçin ve ardından Düzenle Hücre biçimlendirmeseçin.
  • Birden çok hücreyi biçimlendirme

    Birden çok hücre seçin ve ardından Düzenle menüsünden > Hücreleri Biçimlendirseçeneğini seçin. Birden fazla dilde hücre seçerseniz, yalnızca SQL ve Python hücreleri biçimlendirilir. Bu, ve %sqlkullananları %python içerir.

  • Not defterindeki tüm Python ve SQL hücrelerini biçimlendirme

    Not Defterini Düzenle Biçimlendirseçin. Not defteriniz birden fazla dil içeriyorsa, yalnızca SQL ve Python hücreleri biçimlendirilir. Bu, ve %sqlkullananları %python 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.

Not defterlerindeki kod dilleri

Varsayılan dili ayarla

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 için dbutils.fs.ls komutunu çalıştırmak için bunun yerine %fs ls belirtebilirsiniz. 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.

SQL hücre sonuçlarını keşfetme

Databricks not defterinde, SQL dil hücresinden elde edilen sonuçlar değişkenine _sqldfatanmış örtük bir DataFrame olarak otomatik olarak kullanılabilir hale gelir. Daha sonra bu değişkeni, not defterindeki konumlarından bağımsız olarak daha sonra çalıştırdığınız tüm Python ve SQL hücrelerinde kullanabilirsiniz.

Not

Bu özellik aşağıdaki sınırlamalara sahiptir:

  • Değişken_sqldf, işlem için SQL ambarı kullanan not defterlerinde kullanılamaz.
  • Sonraki Python hücrelerinde kullanmak _sqldf Databricks Runtime 13.3 ve sonraki sürümleri için desteklenir.
  • Sonraki SQL hücrelerinde kullanılması _sqldf yalnızca Databricks Runtime 14.3 ve sonraki sürümleri için desteklenir.
  • Sorgu veya CACHE TABLEUNCACHE TABLE anahtar sözcüklerini _sqldf kullanıyorsa değişkeni kullanılamaz.

Aşağıdaki ekran görüntüsü, sonraki Python ve SQL hücrelerinde nasıl _sqldf kullanılabileceğini gösterir:

sql sonuçları veri çerçevesi

Önemli

Sql hücresi her çalıştırıldığında değişken _sqldf yeniden atanır. Belirli bir DataFrame sonucuna başvurunun kaybolmasını önlemek için, sonraki SQL hücresini çalıştırmadan önce bunu yeni bir değişken adına atayın:

Python

new_dataframe_name = _sqldf

SQL

ALTER VIEW _sqldf RENAME TO new_dataframe_name

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 üzerine 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, tablo adını üç düzeyli ad alanını (catalog.schema.table) kullanarak 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.