Not defteri bağımlılıklarını yükleme
Sunucusuz not defterleri için Python bağımlılıklarını Ortam yan panelini kullanarak yükleyebilirsiniz. Bu panel, not defterinin kitaplık gereksinimlerini düzenlemek, görüntülemek ve dışarı aktarmak için tek bir yer sağlar. Bu bağımlılıklar temel ortam kullanılarak veya tek tek eklenebilir.
Not defteri olmayan görevler için bkz . Not defteri olmayan görevler için ortamları ve bağımlılıkları yapılandırma.
Önemli
Sunucusuz not defterlerinize bağımlılık olarak PySpark'ı veya PySpark'ı yükleyen herhangi bir kitaplığı yüklemeyin. Bunun yapılması oturumunuzu durdurur ve bir hatayla sonuçlanır. Bu durumda kitaplığı kaldırın ve ortamınızı sıfırlayın .
Temel ortam yapılandırma
Temel ortam, çalışma alanı dosyası olarak veya ek ortam bağımlılıklarını belirten bir Unity Kataloğu biriminde depolanan bir YAML dosyasıdır. Temel ortamlar not defterleri arasında paylaşılabilir. Temel ortamı yapılandırmak için:
Python sanal ortamı ayarlarını tanımlayan bir YAML dosyası oluşturun. MLflow projeleri ortam belirtimini temel alan aşağıdaki örnek YAML, birkaç kitaplık bağımlılığına sahip bir temel ortam tanımlar:
client: "1" dependencies: - --index-url https://pypi.org/simple - -r "/Workspace/Shared/requirements.txt" - my-library==6.1 - "/Workspace/Shared/Path/To/simplejson-3.19.3-py3-none-any.whl" - git+https://github.com/databricks/databricks-cli
YAML dosyasını çalışma alanı dosyası olarak veya Unity Kataloğu birimine yükleyin. Bkz. Dosya içeri aktarma veya Dosyaları Unity Kataloğu birimine yükleme.
Not defterinin sağ tarafındaki
düğmesine tıklayarak Ortam yan panelini genişletin. Bu düğme yalnızca bir not defteri sunucusuz işlemle bağlantılı olduğunda görünür.
Temel Ortam alanına karşıya yüklenen YAML dosyasının yolunu girin. Alternatif olarak, dosyayı bularak üzerine tıklayın ve seçin.
Uygula'ya tıklayın. Bu işlem, bağımlılıkları not defteri sanal ortamına yükler ve Python işlemini yeniden başlatır.
Kullanıcılar, bağımlılıkları tek tek yükleyerek temel ortamda belirtilen bağımlılıkları geçersiz kılabilir.
Not defteri ortamını yapılandırma
Ayrıca, Ortam yan panelini kullanarak sunucusuz işlemle bağlantılı bir not defterine bağımlılıkları yükleyebilirsiniz:
- Not defterinin sağ tarafındaki
düğmesine tıklayarak Ortam yan panelini genişletin. Bu düğme yalnızca bir not defteri sunucusuz işlemle bağlantılı olduğunda görünür.
- Ortam sürümü açılır listeden ortam sürümünü seçin. bkz. Sunucusuz ortam sürümleri. Databricks, en up-totarih not defteri özelliklerini almak için en son sürümün seçilebilir olmasını önerir.
- Bağımlılıklar bölümünde Bağımlılık Ekle'ye tıklayın ve kitaplık bağımlılığının yolunu alanına girin. Bir requirements.txt dosyasında geçerli olan herhangi bir biçimde bir bağımlılık belirtebilirsiniz.
- Uygula'ya tıklayın. Bu işlem, bağımlılıkları not defteri sanal ortamına yükler ve Python işlemini yeniden başlatır.
Not
Sunucusuz işlem kullanan bir iş, not defteri kodunu yürütmeden önce not defterinin ortam belirtimini yükler. Bu, not defterlerini iş olarak zamanlarken bağımlılık eklemeye gerek olmadığı anlamına gelir. Bkz . Ortamları ve bağımlılıkları yapılandırma.
Yüklü bağımlılıkları ve pip günlüklerini görüntüleme
Yüklü bağımlılıkları görüntülemek için, not defterinin Ortamlar panelinde Yüklü üzerine tıklayın. Not defteri ortamı için pip yükleme günlükleri, panelin alt kısmındaki pip günlükleri bağlantısına tıklayarak da erişilebilir.
Ortamı sıfırlama
Not defteriniz sunucusuz işlemle bağlantılıysa Databricks, not defterinin sanal ortamının içeriğini otomatik olarak önbelleğe alır. Bu, işlem yapılmadığı için bağlantısı kesilmiş olsa bile var olan bir not defterini açtığınızda genel olarak Ortam yan panelinde belirtilen Python bağımlılıklarını yeniden yüklemeniz gerekmediği anlamına gelir.
Python sanal ortamı önbelleğe alma, işler için de geçerlidir. Bir iş çalıştırıldığında, çalıştırıldığı durumda tamamlanmış bir görevle aynı bağımlılık kümesini paylaşan herhangi bir görev, gerekli bağımlılıklar zaten mevcut olduğundan daha hızlı çalışır.
Not
Sunucusuz bir işte kullanılan özel bir Python paketinin uygulamasını değiştirirseniz, işlerin en son uygulamayı alabilmesi için sürüm numarasını da güncelleştirmeniz gerekir.
Ortam önbelleğini temizlemek ve sunucusuz işlemle bağlı bir not defterinin Ortam yan panelinde belirtilen bağımlılıkların yeni bir yüklemesini gerçekleştirmek için, Uygula yanındaki oka tıklayın ve ardından Ortamı Sıfırlaseçeneğine tıklayın.
Not
Çekirdek not defterini veya Apache Spark ortamını bozan veya değiştiren paketler yüklerseniz sanal ortamı sıfırlayın. Not defterini sunucusuz işlemden ayırmak ve yeniden takmak, ortam önbelleğinin tamamını temizlemez. Ortamı sıfırlamak, Ortamı yan panelinde belirtilen tüm bağımlılıkları yeniden yükler, bu nedenle sıfırlamadan önce sorunlu paketlerin kaldırıldığından emin olun.
Not defteri olmayan görevler için ortamları ve bağımlılıkları yapılandırma
Python betiği, Python tekerleği veya dbt görevleri gibi desteklenen diğer görev türleri için varsayılan ortam yüklü Python kitaplıklarını içerir. Yüklü kitaplıkların listesini görmek için kullandığınız istemci sürümünün Yüklü Python kitaplıkları bölümüne bakın. bkz. Sunucusuz ortam sürümleri. Bir görev yüklü olmayan bir Python kitaplığı gerektiriyorsa, kitaplığı, Unity Kataloğu
Ortam ve Kitaplıklar açılan menüsünde Varsayılan ortam'ın
yanındaki öğesine veya + Yeni ortam ekle'ye tıklayın.
Ortam sürümü açılır listeden ortam sürümünü seçin. bkz. Sunucusuz ortam sürümleri. Databricks, en up-totarih özelliklerini elde etmek için en son sürümü seçmenizi önerir.
Ortamı yapılandır iletişim kutusunda + Kitaplık ekle'ye tıklayın.
Kitaplıklaraltındaki açılan menüden bağımlılık türünü seçin.
Dosya Yolu metin kutusuna kitaplığın yolunu girin.
Çalışma alanı dosyasındaki python tekerleği için yol mutlak olmalı ve ile
/Workspace/
başlamalıdır.Unity Kataloğu biriminde bir Python Wheel'in yolu
/Volumes/<catalog>/<schema>/<volume>/<path>.whl
olmalıdır.requirements.txt
dosyası için PyPi'yi seçin ve-r /path/to/requirements.txt
girin.
- Başka bir kitaplık eklemek için Onayla veya + Kitaplık ekle'ye tıklayın.
- Görev ekliyorsanız Görev oluştur'a tıklayın. Bir görevi düzenliyorsanız Görevi kaydet'e tıklayın.
Varsayılan Python paket depolarını yapılandırma
Yöneticiler, çalışma alanlarındaki özel veya kimliği doğrulanmış paket depolarını hem sunucusuz not defterleri hem de sunucusuz işler için varsayılan pip yapılandırması olarak yapılandırabilir. Bu, kullanıcıların açıkça index-url
veya extra-index-url
tanımlamadan iç Python depolarından paketleri yüklemesine olanak tanır. Ancak, bu değerler kodda veya not defterinde belirtilirse, çalışma alanı varsayılanlarından önceliklidir.
Bu yapılandırma, depo URL'lerini ve kimlik bilgilerini güvenli bir şekilde depolamak ve yönetmek için Databricks gizli dizilerinden yararlanır. Yöneticiler, çalışma alanı yönetici ayarları sayfasını veya önceden tanımlanmış gizli dizi kapsamını ve Databricks CLI gizli dizi komutlarını veya REST APIkullanarak kurulumu yapılandırabilir.
Çalışma alanı yönetici ayarları sayfasını kullanarak kurulum
Çalışma alanı yöneticileri, çalışma alanı yöneticisi ayarları sayfasını kullanarak varsayılan Python paketi depolarını ekleyebilir veya kaldırabilir.
- Çalışma alanı yöneticisi olarak Databricks çalışma alanında oturum açın.
- Databricks çalışma alanının üst çubuğunda kullanıcı adınızı tıklayın ve Ayarlarseçeneğini seçin.
- Hesaplama sekmesine tıklayın.
- "Varsayılan Paket Depoları yanındaki Yönetöğesine tıklayın."
- (İsteğe bağlı) Dizin URL'si, ek dizin URL'leri veya özel SSL sertifikası ekleyin veya kaldırın.
- Değişiklikleri kaydetmek için Kaydet’e tıklayın.
Not
Gizli bilgilerde yapılan değişiklikler veya silme işlemleri, sunucusuz hesaplama ortamları olan not defterlerine yeniden bağlandıktan veya sunucusuz işler yeniden çalıştırıldıktan sonra uygulanır.
Gizli bilgileri CLI veya REST API kullanarak kurulum
CLI veya REST API kullanarak varsayılan Python paket depolarını yapılandırmak için önceden tanımlanmış bir gizli dizi kapsamı oluşturun ve erişim izinlerini yapılandırın, ardından paket deposu gizli dizilerini ekleyin.
Önceden tanımlanmış gizli kapsam adı
Çalışma alanı yöneticileri, önceden tanımlanmış anahtarlar altında belirlenen gizli kapsamda kimlik doğrulama belirteçleri ve gizli bilgilerle birlikte varsayılan pip dizini URL’lerini veya ek dizin URL’lerini ayarlayabilir.
- Gizli kapsam adı:
databricks-package-management
- Dizin url'si için gizli anahtar:
pip-index-url
- Ek dizin url'leri için gizli anahtar:
pip-extra-index-urls
- SSL sertifika içeriği için gizli anahtar:
pip-cert
Gizli kapsamı oluştur
Gizli dizi kapsamı, Databricks CLI databricks-package-management
'u kullanmalıdır.
databricks secrets create-scope databricks-package-management
databricks secrets put-acl databricks-package-management admins MANAGE
databricks secrets put-acl databricks-package-management users READ
Python paket deposu gizli bilgilerini ekleme
Üç alanın da isteğe bağlı olduğu önceden tanımlanmış gizli anahtar adlarını kullanarak Python paketi deposu ayrıntılarını ekleyin.
# Add index URL.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-index-url", "string_value":"<index-url-value>"}'
# Add extra index URLs. If you have multiple extra index URLs, separate them using white space.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-extra-index-urls", "string_value":"<extra-index-url-1 extra-index-url-2>"}'
# Add cert content. If you want to pip configure a custom SSL certificate, put the cert file content here.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-cert", "string_value":"<cert-content>"}'
Özel PyPI depo gizli dizilerini değiştirme veya silme
PyPI depo gizli dizilerini değiştirmek için put-secret
komutunu kullanın. PyPI depo sırlarını silmek için aşağıda gösterildiği gibi delete-secret
'u kullanın:
# delete secret
databricks secrets delete-secret databricks-package-management pip-index-url
databricks secrets delete-secret databricks-package-management pip-extra-index-urls
databricks secrets delete-secret databricks-package-management pip-cert
# delete scope
databricks secrets delete-scope databricks-package-management