Küme kapsamlı başlatma betiklerini kullanma

Küme kapsamlı başlatma betikleri, küme yapılandırmasında tanımlanan başlatma betikleridir. Küme kapsamlı başlatma betikleri hem oluşturduğunuz kümelere hem de işleri çalıştırmak için oluşturulanlara uygulanır.

Kullanıcı arabirimini, CLI'yı kullanarak ve Kümeler API'sini çağırarak küme kapsamlı başlatma betiklerini yapılandırabilirsiniz. Bu bölüm, kullanıcı arabirimini kullanarak bu görevleri gerçekleştirmeye odaklanır. Diğer yöntemler için bkz. Databricks CLI ve Kümeler API'si.

İstediğiniz sayıda betik ekleyebilirsiniz ve betikler sağlanan sırayla sırayla yürütülür.

Küme kapsamlı bir başlatma betiği sıfır olmayan bir çıkış kodu döndürürse, küme başlatma başarısız olur. Küme günlüğü teslimini yapılandırarak ve başlatma betiği günlüğünü inceleyerek küme kapsamlı başlatma betiklerinde sorun giderebilirsiniz. Bkz. Başlatma betiği günlüğü.

Kullanıcı arabirimini kullanarak küme kapsamlı bir init betiği yapılandırma

Bu bölüm, Azure Databricks kullanıcı arabirimini kullanarak bir kümeyi başlatma betiği çalıştıracak şekilde yapılandırma yönergelerini içerir.

Databricks, tüm başlatma betiklerinin küme kapsamlı başlatma betikleri olarak yönetilmesini önerir. İşlemi paylaşılan veya tek kullanıcı erişim moduyla kullanıyorsanız, init betiklerini Unity Kataloğu birimlerinde depolayın. İşlemi yalıtımsız paylaşılan erişim moduyla kullanıyorsanız başlatma betikleri için çalışma alanı dosyalarını kullanın.

Paylaşılan erişim modu için içine init betikleri allowlisteklemeniz gerekir. Bkz. Paylaşılan işlemdeki izin verilenler listesi kitaplıkları ve başlatma betikleri.

Kullanıcı arabirimini kullanarak bir kümeyi başlatma betiği çalıştıracak şekilde yapılandırmak için aşağıdaki adımları tamamlayın:

  1. Küme yapılandırması sayfasında Gelişmiş Seçenekler iki durumlu düğmesine tıklayın.
  2. Sayfanın en altında, Başlatma Betikleri sekmesine tıklayın.
  3. Kaynak açılan listesinde Çalışma Alanı, Birim veya ABFSS kaynak türünü seçin.
  4. Aşağıdaki örneklerden biri gibi init betiğinin yolunu belirtin:
    • Çalışma alanı dosyalarıyla giriş dizininizde depolanan bir init betiği için: /Users/<user-name>/<script-name>.sh.
    • Unity Kataloğu birimleriyle depolanan bir init betiği için: /Volumes/<catalog>/<schema>/<volume>/<path-to-script>/<script-name>.sh.
    • Nesne depolama ile depolanan bir init betiği için: abfss://container-name@storage-account-name.dfs.core.windows.net/path/to/init-script.
  5. Ekle'yi tıklatın.

Tek kullanıcı erişim modunda, atanan sorumlunun kimliği (kullanıcı veya hizmet sorumlusu) kullanılır.

Paylaşılan erişim modunda, küme sahibinin kimliği kullanılır.

Not

Yalıtımsız paylaşılan erişim modu birimleri desteklemez, ancak paylaşılan erişim moduyla aynı kimlik atamasını kullanır.

Küme yapılandırmasından bir betiği kaldırmak için betiğin sağ tarafındaki çöp kutusu simgesine tıklayın. Silme işlemini onayladığınızda kümeyi yeniden başlatmanız istenir. İsteğe bağlı olarak, betik dosyasını karşıya yüklediğiniz konumdan silebilirsiniz.

Not

ABFSS kaynak türünü kullanarak bir init betiği yapılandırıyorsanız, erişim kimlik bilgilerini yapılandırmanız gerekir.

Databricks, Azure Data Lake Storage 2. Nesil depolanan init betiklerine 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 Microsoft Entra Id (eski adı Azure Active Directory) ile depolamaya erişme.

  2. Gizli dizileri kullanarak kimlik bilgilerinizi kaydedin. Bkz. Gizli Diziler.

  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.

Uyarı

DBFS'deki küme kapsamlı başlatma betikleri kullanım süresi sonu olur. Kullanıcı arabirimindeki DBFS seçeneği bazı çalışma alanlarında eski iş yüklerini desteklemek için bulunur ve önerilmez. DBFS'de depolanan tüm başlatma betikleri geçirilmelidir. Geçiş yönergeleri için bkz . DBFS'den başlatma betiklerini geçirme.

Küme kapsamlı başlatma betiklerinde sorun giderme

  • Betik, yapılandırılan konumda bulunmalıdır. Betik yoksa kümeyi başlatmaya veya yürütücülerin ölçeğini artırmaya çalışırken hata oluşur.
  • Init betiği 64 KB'tan büyük olamaz. Betik bu boyutu aşarsa küme başlatılamaz ve küme günlüğünde bir hata iletisi görüntülenir.