Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfada, databricks not defterlerinde kod biçimlendirme, otomatik tamamlama, dilleri karıştırma ve sihirli komutlar gibi kod geliştirme işlemleri 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 Databricks Yardımcısı'nı kullanma bölümüne bakın.
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.
Önemli
Otomatik tamamlama, Python kod biçimlendirmesi ve hata ayıklayıcı gibi kod yardımı özellikleri için not defterinin etkin bir işlem oturumuna eklenmesi gerekir.
Kodunuzu modüler hale
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. Defterin, black ve tokenize-rt Python paketlerinin yüklü olduğu bir kümeye bağlanması gerekir.
Databricks Runtime 11.3 LTS ve üzeri sürümlerde, Azure Databricks black ve tokenize-rt'yi önceden yükler. 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 black==22.3.0 ve tokenize-rt==4.2.1 yüklemeniz 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 biçimlendirmek için özel bir SQL biçimlendiricisi ve Python için siyah kod biçimlendirici 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: Bir SQL hücresinde komut bağlamı açılır menüsünden Format SQL seçeneğini 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.
- SQL hücresini biçimlendir: Bir SQL hücresinde komut bağlamı açılır menüsünden Format SQL seçeneğini seçin. Bu menü öğesi yalnızca SQL not defteri hücrelerinde veya dil büyüsüne sahip
- Not Defteri Düzenle menüsü: Bir Python veya SQL hücresini seçin ve ardından > seçeneğini seç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,
%sqlve%pythonkullananları içerir.Not defterindeki tüm Python ve SQL hücrelerini biçimlendirme
Not Defterini Biçimlendir Düzenle> seçin. Not defteriniz birden fazla dil içeriyorsa, yalnızca SQL ve Python hücreleri biçimlendirilir. Bu,
%sqlve%pythonkullananları içerir.
SQL sorgularınızın nasıl biçimlendirildiğini özelleştirmek için bkz. Özel biçim SQL deyimleri.
Kod biçimlendirme sınırlamaları
- Black, PEP 8 standartlarını 4 boşluklu girinti için uygular. Girinti ayarı 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 altı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ırın
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, %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: Defterinizde kabuk kodu çalıştırmanıza olanak tanır. Kabuk komutunun çıkış durumu sıfır değilse hücreyi başarısız kılmak için-eseçeneğini ekleyin. Bu komut yalnızca Apache Spark sürücüsünde çalışır, çalışanlar üzerinde çalışmaz. Tüm düğümlerde bir komut satırı komutu çalıştırmak için bir init betiği kullanın. -
%fs: Dosya sistemi komutlarını kullanmanızadbutilsizin verir. Örneğin, dosyaları listelemek içindbutils.fs.lskomutunu çalıştırmak için bunun yerine%fs lsbelirtebilirsiniz. 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
tr-TR: Söz dizimi vurgulama ve SQL otomatik tamamlama, bir Python komutunda, örneğin bir spark.sql komutunda, SQL kullandığınızda kullanılabilir.
SQL hücre sonuçlarını keşfedin
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
_sqldfkullanımı, Databricks Runtime 13.3 ve üzerindeki sürümlerde desteklenmektedir. - Takip eden SQL hücrelerinde
_sqldfkullanılması yalnızca Databricks Runtime 14.3 ve sonraki sürümleri için desteklenir. -
CACHE TABLEveyaUNCACHE TABLEanahtar sözcükleri sorguda kullanılıyorsa,_sqldfdeğ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:
Ö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:
Piton
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:
Hücreyi çalıştırın.
Şimdi çalıştır üzerine tıklayın. Hücre hemen çalıştırı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, 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.
Sihirli komutları kullanma
Databricks not defterleri, yaygın görevleri basitleştirmek için işlevselliği standart söz dizimlerinin ötesine genişleten çeşitli sihirli komutları destekler. Sihirli komutlar, satır ve hücre büyülerine % önüne eklenir.
| Büyü komutu | Örnek | Açıklama |
|---|---|---|
%python |
%pythonprint("Hello") |
Hücre dilini Python'a değiştirin. Hücrede Python kodunu yürütür. |
%r |
%rprint("Hello") |
Hücre dilini R olarak değiştirin. Hücrede R kodunu yürütür. |
%scala |
%scalaprintln("Hello") |
Hücre dilini Scala'ya değiştirin. Hücrede Scala kodunu yürütür. |
%sql |
%sqlSELECT * FROM table |
Hücre dilini SQL'e değiştirin. Sonuçlar _sqldf olarak Python/SQL hücrelerinde mevcuttur. |
%md |
%md# TitleContent here |
Hücre dilini Markdown olarak değiştirin. Hücrede Markdown içeriğini görüntüler. Metinleri, resimleri, formülleri ve LaTeX'i destekler. |
%pip |
%pip install pandas |
Python paketlerini yükleme (not defteri kapsamlı). Bkz. Notebook kapsamındaki Python kütüphaneleri. |
%run |
%run /path/to/notebook |
İşlevlerini ve değişkenlerini içeri aktararak başka bir notebook çalıştırır. Bkz . Not defteri iş akışları. |
%fs |
%fs ls /path |
dbutils dosya sistemi komutlarını yürütür.
dbutils.fs komutları için kısaltma. Bkz . Dosyalarla çalışma. |
%sh |
%sh ls -la |
Kabuk komutlarını yürütme. Yalnızca sürücü düğümünde çalışır. Hata durumunda başarısız olmak için -e kullanın. |
%tensorboard |
%tensorboard --logdir /logs |
TensorBoard kullanıcı arabirimini satır içinde görüntüleyin. Yalnızca Databricks Runtime ML'de kullanılabilir. Bkz. TensorBoard. |
%set_cell_max_output_size_in_mb |
%set_cell_max_output_size_in_mb 10 |
En büyük hücre çıkış boyutunu ayarlayın. Aralık: 1-20 MB. Not defterindeki sonraki tüm hücreler için geçerlidir. |
%skip |
%skipprint("This won't run") |
Hücre yürütmeyi atlayın. Not defteri çalıştırılırken hücrenin çalışmasını engeller. |
Not
IPython Automagic: Databricks not defterlerinde IPython automagic varsayılan olarak etkindir ve bu sayede ön ek olmadan pip çalışmak gibi % bazı komutlar kullanılabilir. Örneğin, pip install pandas ile %pip install pandasaynı şekilde çalışır.
Önemli
- Değişkenler ve durum, farklı dil REPL'leri arasında yalıtılır. Örneğin, Python değişkenlerine Scala hücrelerinde erişilemez.
- Not defteri hücresinde yalnızca bir hücre sihirli komutu olabilir ve bu komut hücrenin ilk satırında yer almalıdır.
-
%runtüm not defterini satır içi çalıştırdığı için kendi hücresinde tek başına olmalıdır. - Databricks Runtime 12.2 LTS ve altını kullanırken
%pip, yükleme sonrası Python durumu sıfırlanır, bu nedenle tüm paket yükleme komutlarını not defterinizin başına yerleştirmeniz gerekiyor.