Aracılığıyla paylaş


Nesne depolamadan kitaplıkları yükleme

Bu makalede, Azure Databricks'te bulut nesne depolamasından kitaplıkları yüklemek için gereken adımlarda size yol gösterilir.

Not

Bu makale genel bir kavram olarak bulut nesne depolamayı ifade eder ve URI'leri kullanarak nesne depolamada depolanan verilerle doğrudan etkileşimde olduğunuzu varsayar. Databricks, bulut nesne depolamadaki dosyalara erişimi yapılandırmak için Unity Kataloğu birimlerinin kullanılmasını önerir. Bkz . Unity Kataloğu birimleri nedir?.

Özel JAR ve Python Whl kitaplıklarını DBFS kökünde depolamak yerine bulut nesne depolama alanında depolayabilirsiniz. Tam kitaplık uyumluluk ayrıntıları için bkz . Küme kapsamlı kitaplıklar .

Önemli

Kitaplıklar Databricks Runtime 14.3 LTS ve altı kullanılırken DBFS'den yüklenebilir. Ancak, herhangi bir çalışma alanı kullanıcısı DBFS'de depolanan kitaplık dosyalarını değiştirebilir. Azure Databricks çalışma alanında kitaplıkların güvenliğini artırmak için, kitaplık dosyalarını DBFS kökünde depolamak, Databricks Runtime 15.1 ve üzerinde varsayılan olarak kullanım dışıdır ve devre dışıdır. Bkz . Kitaplıkları DBFS kökünde depolamak varsayılan olarak kullanım dışıdır ve devre dışıdır.

Databricks bunun yerine Python kitaplıkları , JAR dosyaları ve Spark bağlayıcıları dahil olmak üzere tüm kitaplıkların çalışma alanı dosyalarına veya Unity Kataloğu birimlerine yüklenmesini ya da kitaplık paketi depolarının kullanılmasını önerir. İş yükünüz bu desenleri desteklemiyorsa, bulut nesne depolama alanında depolanan kitaplıkları da kullanabilirsiniz.

Kitaplıkları nesne depolamaya yükleme

Kitaplıkları nesne depolamaya, diğer dosyaları yüklediğinizde olduğu gibi yükleyebilirsiniz. Yeni nesne depolama kapsayıcıları oluşturmak veya dosyaları bulut nesne depolama alanına yüklemek için bulut sağlayıcınızda uygun izinlere sahip olmanız gerekir.

Nesne depolamaya salt okunur izinler verme

Databricks, kitaplık yüklemesiyle ilgili tüm ayrıcalıkların salt okunur izinlerle yapılandırılmasını önerir.

Azure Databricks, bulut nesne depolamadaki verilere erişimi yöneten tek tek kümelere güvenlik izinleri atamanızı sağlar. Bu ilkeler, kitaplıklar içeren bulut nesne depolama alanına salt okunur erişim eklemek için genişletilebilir.

Not

Databricks Runtime 12.2 LTS ve altında, paylaşılan erişim modları olan kümeleri kullanırken JAR kitaplıklarını yükleyemezsiniz. Databricks Runtime 13.3 LTS ve üzerinde, Unity Kataloğu izin verilenler listesine JAR kitaplıkları eklemeniz gerekir. Bkz. Paylaşılan işlemdeki izin verilenler listesi kitaplıkları ve başlatma betikleri.

Databricks, Azure Data Lake Storage 2. Nesil depolanan kitaplıklara erişimi yönetmek için Microsoft Entra ID hizmet sorumlularının kullanılmasını önerir. Bu kurulumu tamamlamak için aşağıdaki bağlantılı belgeleri kullanın:

  1. İstediğiniz bloblarda okuma ve listeleme izinlerine sahip bir hizmet sorumlusu oluşturun. Bkz. Hizmet sorumlusu kullanarak depolamaya erişme & Microsoft Entra Id (Azure Active Directory).

  2. Gizli dizileri kullanarak kimlik bilgilerinizi kaydedin. Bkz. Gizli dizileri yönetme.

  3. Spark yapılandırmasındaki özellikleri ve ortam değişkenlerini küme oluştururken aşağıdaki örnekte olduğu gibi ayarlayın:

    Spark yapılandırması:

    spark.hadoop.fs.azure.account.auth.type.<storage-account>.dfs.core.windows.net OAuth
    spark.hadoop.fs.azure.account.oauth.provider.type.<storage-account>.dfs.core.windows.net org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider
    spark.hadoop.fs.azure.account.oauth2.client.id.<storage-account>.dfs.core.windows.net <application-id>
    spark.hadoop.fs.azure.account.oauth2.client.secret.<storage-account>.dfs.core.windows.net {{secrets/<secret-scope>/<service-credential-key>}}
    spark.hadoop.fs.azure.account.oauth2.client.endpoint.<storage-account>.dfs.core.windows.net https://login.microsoftonline.com/<tenant-id>/oauth2/token
    

    Ortam değişkenleri:

    SERVICE_CREDENTIAL={{secrets/<secret-scope>/<service-credential-key>}}
    
  4. (İsteğe bağlı) azcopy veya Azure CLI kullanarak başlatma betiklerini yeniden düzenleme.

    Doğrulama için gizli dizi olarak depolanan kimlik bilgilerini geçirmek için init betiklerinizde küme yapılandırması sırasında ayarlanan ortam değişkenlerine başvurabilirsiniz.

Kitaplıkları kümelere yükleme

Bulut nesne depolama alanında depolanan bir kitaplığı bir kümeye yüklemek için aşağıdaki adımları tamamlayın:

  1. Kümeler kullanıcı arabirimindeki listeden bir küme seçin.
  2. Kitaplıklar sekmesini seçin.
  3. Dosya yolu/ADLS seçeneğini belirleyin.
  4. Kitaplık nesnesine tam URI yolunu sağlayın (örneğin, abfss://container-name@storage-account-name.dfs.core.windows.net/path/to/library.whl).
  5. Yükle'ye tıklayın.

Kitaplıkları REST API veya CLI kullanarak da yükleyebilirsiniz.

Kitaplıkları not defterlerine yükleme

Nesne depolama alanında depolanan ve not defteriyle yalıtılmış SparkSession kapsamındaki özel Python tekerlek dosyalarını yüklemek için kullanabilirsiniz %pip . Bu yöntemi kullanmak için kitaplıkları genel olarak okunabilir nesne depolama alanında depolamanız veya önceden imzalanan bir URL kullanmanız gerekir.

Bkz. Not defteri kapsamlı Python kitaplıkları.

Not

JAR kitaplıkları not defterine yüklenemez. JAR kitaplıklarını küme düzeyinde yüklemeniz gerekir.