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 %pip
magic 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 pip
Python 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ızdbutils.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.conf
ekleme 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 pip
yü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.
, !pip
veya pip
kullanabilir %sh pip
miyim? 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 pip
ve !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.