Not defteri kapsamlı Python Kitaplıkları

Not defteri kapsamlı kitaplıklar, not defterine özgü özel Python ortamları oluşturmanıza, değiştirmenize, kaydetmenize, yeniden kullanmanıza ve paylaşmanıza olanak tanır. Not defteri kapsamlı bir kitaplık yüklediğinizde, yalnızca geçerli not defteri ve bu not defteriyle ilişkili tüm işler bu kitaplığa erişebilir. Aynı kümeye eklenen diğer not defterleri etkilenmez.

Not defteri kapsamlı kitaplıklar oturumlar arasında kalıcı olmaz. Not defteri kapsamlı kitaplıkları her oturumun başında veya not defteri bir kümeden her ayrılışında yeniden yüklemeniz gerekir.

Databricks, not defteri kapsamlı Python kitaplıklarını yüklemek için magic komutunun kullanılmasını %pip önerir.

İş olarak zamanlanmış not defterlerinde kullanabilirsiniz %pip . Python ortamını scala, SQL veya R not defterinde yönetmeniz gerekiyorsa ile birlikte %pipmagic komutunu kullanın%python.

Not defteri kapsamlı kitaplık yüklemeleriyle çalışırken sürücü düğümüne yönelik daha fazla trafikle karşılaşabilirsiniz. Bkz. Not defteri kapsamlı kitaplıklarla çalışırken sürücü düğümü ne kadar büyük olmalıdır?

Bir kümeye bağlı tüm not defterlerinin kitaplıklarını yüklemek için küme kitaplıklarını kullanın. Bkz. Küme kitaplıkları.

Databricks'te Python kitaplıklarını yüklemeye yönelik seçeneklere kapsamlı bir genel bakış için bkz . Python ortam yönetimi.

Not

Databricks Runtime 10.4 LTS ve altında (eski) Azure Databricks kitaplık yardımcı programını kullanabilirsiniz. Kitaplık yardımcı programı yalnızca Databricks Runtime'da desteklenir, Databricks Runtime ML'de desteklenmez. Bkz. Kitaplık yardımcı programı (dbutils.library) (eski).

Kitaplıkları komutlarla %pip yönetme

komutu %pip pip komutuna eşdeğerdir ve aynı API'yi destekler. Aşağıdaki bölümlerde, ortamınızı yönetmek için komutları nasıl kullanabileceğinize %pip ilişkin örnekler gösterilmektedir. ile pipPython paketlerini yükleme hakkında daha fazla bilgi için pip yükleme belgelerine ve ilgili sayfalara bakın.

Önemli

  • Databricks Runtime 13.0 %pip komutlarından başlayarak Python işlemi otomatik olarak yeniden başlatılmaz. Yeni bir paket yükler veya mevcut bir paketi güncelleştirirseniz, yeni paketleri görmek için kullanmanız dbutils.library.restartPython() gerekebilir. Bkz. Azure Databricks'te Python işlemini yeniden başlatma.
  • Databricks Runtime 12.2 LTS ve altında, Databricks tüm %pip komutları not defterinin başına yerleştirmenizi önerir. Not defteri durumu, ortamı değiştiren herhangi bir %pip komut sonrasında sıfırlanır. Not defterinde Python yöntemleri veya değişkenleri oluşturur ve daha sonraki bir hücrede komutları kullanırsanız %pip , yöntemler veya değişkenler kaybolur.
  • temel Python paketlerini (IPython gibi) ile %pip yükseltmek, değiştirmek veya kaldırmak bazı özelliklerin beklendiği gibi çalışmayı durdurmasına neden olabilir. Bu tür sorunlarla karşılaşırsanız, not defterini ayırıp yeniden ekleyerek veya kümeyi yeniden başlatarak ortamı sıfırlayın.

ile bir kitaplık yükleme %pip

%pip install matplotlib

ile Python tekerlek paketi yükleme %pip

%pip install /path/to/my_package.whl

ile bir kitaplığı kaldırma %pip

Not

Databricks Runtime sürüm notları sürümlerine ve uyumluluğuna veya küme kitaplığı olarak yüklenmiş bir kitaplığa dahil olan bir kitaplığı kaldıramazsınız. Databricks Runtime'da bulunandan veya kümede yüklü olandan farklı bir kitaplık sürümü yüklediyseniz, %pip uninstall kitaplığı Databricks Runtime'daki varsayılan sürüme veya kümede yüklü olan sürüme döndürmek için kullanabilirsiniz, ancak Databricks Runtime'da bulunan veya kümede yüklü olan bir kitaplığın sürümünü kaldırmak için komut kullanamazsınız %pip .

%pip uninstall -y matplotlib

Bu -y seçenek gereklidir.

ile bir sürüm denetim sisteminden kitaplık yükleme %pip

%pip install git+https://github.com/databricks/databricks-cli

Sürüm veya git alt dizini gibi öğeleri belirtmek için URL'ye parametreler ekleyebilirsiniz. Daha fazla bilgi için VCS desteğine ve diğer sürüm denetim sistemlerinin kullanıldığı örneklere bakın.

ile Databricks gizli dizileri tarafından yönetilen kimlik bilgilerine sahip özel bir paket yükleme %pip

Pip, özel sürüm denetim sistemleri ve Nexus ve Artifactory gibi özel paket depoları dahil olmak üzere temel kimlik doğrulaması ile özel kaynaklardan paket yüklemeyi destekler. Gizli dizi yönetimi, kimlik doğrulama belirteçlerini ve parolaları depolamanıza olanak tanıyan Databricks Gizli Dizileri API'sini kullanarak kullanılabilir. Not defterinizdeki gizli dizilere erişmek için DBUtils API'sini kullanın. Sihirli komutlarda kullanabileceğinizi $variables unutmayın.

Özel bir depodan paket yüklemek için, depo URL'sini adresinden yapılandırma dosyasına ~/.pip/pip.confekleme pip veya %pip install seçeneğiyle birlikte --index-url belirtin.

token = dbutils.secrets.get(scope="scope", key="key")
%pip install --index-url https://<user>:$token@<your-package-repository>.com/<path/to/repo> <package>==<version> --extra-index-url https://pypi.org/simple/

Benzer şekilde, gizli dizi yönetimini sihirli komutlarla kullanarak sürüm denetim sistemlerinden özel paketler yükleyebilirsiniz.

token = dbutils.secrets.get(scope="scope", key="key")
%pip install git+https://<user>:$token@<gitprovider>.com/<path/to/repo>

ile DBFS'den paket yükleme %pip

Önemli

Herhangi bir çalışma alanı kullanıcısı DBFS'de depolanan dosyaları değiştirebilir. Azure Databricks, dosyaları çalışma alanlarında veya Unity Kataloğu birimlerinde depolamanızı önerir.

DBFS'ye kaydedilmiş özel bir paketi yüklemek için kullanabilirsiniz %pip .

DbFS'ye bir dosya yüklediğinizde, dosya otomatik olarak yeniden adlandırılır ve boşluklar, nokta ve kısa çizgiler alt çizgiyle değiştirilir. Python tekerlek dosyaları için, pip dosya adının sürümdeki dönemleri (örneğin, 0.1.0) ve boşluk veya alt çizgi yerine kısa çizgileri kullanmasını gerektirir, bu nedenle bu dosya adları değiştirilmez.

%pip install /dbfs/mypackage-0.0.1-py3-none-any.whl

ile bir birimden paket yükleme %pip

Önemli

Bu özellik Genel Önizlemededir.

Databricks Runtime 13.3 LTS ve üzeri ile, bir birime kaydedilmiş özel bir paketi yüklemek için kullanabilirsiniz %pip .

Bir birime dosya yüklediğinizde, dosya otomatik olarak yeniden adlandırılır ve boşluklar, nokta ve kısa çizgiler alt çizgiyle değiştirilir. Python tekerlek dosyaları için, pip dosya adının sürümdeki dönemleri (örneğin, 0.1.0) ve boşluk veya alt çizgi yerine kısa çizgileri kullanmasını gerektirir, bu nedenle bu dosya adları değiştirilmez.

%pip install /Volumes/<catalog>/<schema>/<path-to-library>/mypackage-0.0.1-py3-none-any.whl

ile çalışma alanı dosyası olarak depolanan bir paketi yükleme %pip

Databricks Runtime 11.3 LTS ve üzeri ile, çalışma alanı dosyası olarak kaydedilmiş özel bir paketi yüklemek için kullanabilirsiniz %pip .

%pip install /Workspace/<path-to-whl-file>/mypackage-0.0.1-py3-none-any.whl

Kitaplıkları gereksinimler dosyasına kaydetme

%pip freeze > /Workspace/shared/prod_requirements.txt

Dosya yolundaki tüm alt dizinler zaten mevcut olmalıdır. komutunu çalıştırırsanız %pip freeze > /Workspace/<new-directory>/requirements.txt, dizin /Workspace/<new-directory> zaten yoksa komutu başarısız olur.

Kitaplıkları yüklemek için gereksinimler dosyası kullanma

Gereksinimler dosyası kullanılarak pipyüklenecek paketlerin listesini içerir. Gereksinimler dosyasının kullanılmasına örnek olarak aşağıdakiler gösteriliyor:

%pip install -r /Workspace/shared/prod_requirements.txt

Dosyalar hakkında requirements.txt daha fazla bilgi için bkz. Gereksinimler Dosya Biçimi.

Not defteri kapsamlı kitaplıklarla çalışırken sürücü düğümü ne kadar büyük olmalıdır?

Not defteri kapsamlı kitaplıkların kullanılması, ortamı yürütücü düğümleri arasında tutarlı tutmak için çalıştığından sürücü düğümüne daha fazla trafikle sonuçlanabilir.

10 veya daha fazla düğüme sahip bir küme kullandığınızda Databricks, sürücü düğümü için en düşük gereksinim olarak şu belirtimleri önerir:

  • 100 düğüm cpu kümesi için Standard_DS5_v2 kullanın.
  • 10 düğüm gpu kümesi için Standard_NC12 kullanın.

Daha büyük kümeler için daha büyük bir sürücü düğümü kullanın.

, !pipveya pipkullanabilir %sh pipmiyim? Ne fark var?

%sh ve ! bir not defterinde bir kabuk komutu yürütür; birincisi Databricks yardımcı sihirli komutudur , ikincisi ise IPython'un bir özelliğidir. pip, Azure Databricks Python not defterlerinde varsayılan olan otomatik oluşturma özelliğinin etkinleştirildiği durumlar için %pip bir kısaltmadır.

Databricks Runtime 11.3 LTS ve üzeri, %pip, %sh pipve !pip tüm sürümlerine not defteri kapsamlı Python kitaplığı olarak bir kitaplık yükleyin. Databricks Runtime 10.4 LTS ve altında Databricks, yalnızca %pip veya pip not defteri kapsamlı kitaplıkların yüklenmesini önerir. ve !pip davranışı %sh pip Databricks Runtime 10.4 LTS ve altında tutarlı değildir.

Bilinen sorunlar

  • Databricks Runtime 9.1 LTS'de, not defteri kapsamlı kitaplıklar toplu akış işleriyle uyumlu değildir. Databricks bunun yerine küme kitaplıklarının veya IPython çekirdeğinin kullanılmasını önerir.