Scala için Databricks Connect'i yükleme

Not

Bu makale Databricks Runtime 13.3 LTS ve üzeri için Databricks Connect'i kapsar.

Bu makalede Scala için Databricks Connect'in nasıl yükleneceği açıklanmaktadır. Bkz. Databricks Connect nedir?. Bu makalenin Python sürümü için bkz . Python için Databricks Connect'i yükleme.

Gereksinimler

  • Hedef Azure Databricks çalışma alanınız ve kümeniz Databricks Connect için Küme yapılandırması gereksinimlerini karşılamalıdır.
  • Geliştirme makinenizde yüklü Java Geliştirme Seti (JDK). Databricks, kullandığınız JDK yükleme sürümünün Azure Databricks kümenizdeki JDK sürümüyle eşleşmesini önerir. Kümenizdeki JDK sürümünü bulmak için kümenizin Databricks Runtime sürüm notlarının "Sistem ortamı" bölümüne bakın. Örneğin, Zulu 8.70.0.23-CA-linux64 JDK 8'e karşılık gelir. Bkz . Databricks Runtime sürüm notları sürümleri ve uyumluluğu.
  • Geliştirme makinenizde Scala yüklü. Databricks, kullandığınız Scala yüklemenizin sürümünün Azure Databricks kümenizdeki Scala sürümüyle eşleşmesini önerir. Kümenizdeki Scala sürümünü bulmak için kümenizin Databricks Runtime sürüm notlarının "Sistem ortamı" bölümüne bakın. Bkz . Databricks Runtime sürüm notları sürümleri ve uyumluluğu.
  • Geliştirme makinenizde sbtgibi bir Scala derleme aracı.

İstemciyi ayarlama

Databricks Connect gereksinimlerini karşıladıktan sonra, Databricks Connect istemcisini ayarlamak için aşağıdaki adımları tamamlayın.

1. Adım: Databricks Connect istemcisine başvuru ekleme

  1. Scala projenizin maven için sbtpom.xml veya build.gradle Gradle için gibi build.sbt derleme dosyasına Databricks Connect istemcisine aşağıdaki başvuruyu ekleyin:

    Sbt

    libraryDependencies += "com.databricks" % "databricks-connect" % "14.0.0"
    

    Maven

    <dependency>
      <groupId>com.databricks</groupId>
      <artifactId>databricks-connect</artifactId>
      <version>14.0.0</version>
    </dependency>
    

    Gradle

    implementation 'com.databricks.databricks-connect:14.0.0'
    
  2. değerini, kümenizdeki Databricks Runtime sürümüyle eşleşen Databricks Connect kitaplığının sürümüyle değiştirin 14.0.0 . Databricks Connect kitaplığı sürüm numaralarını Maven merkezi deposunda bulabilirsiniz.

2. Adım: Bağlantı özelliklerini yapılandırma

Bu bölümde, Databricks Connect ile uzak Azure Databricks kümeniz arasında bağlantı kurmak için özellikleri yapılandıracaksınız. Bu özellikler Databricks Connect'in kümenizle kimliğini doğrulama ayarlarını içerir.

Databricks Runtime 13.3 LTS ve üzeri için Databricks Connect, Scala için Databricks Connect, Java için Databricks SDK'sını içerir. Bu SDK, kimlik doğrulamasına yönelik birleştirilmiş ve tutarlı bir mimari ve programlı yaklaşım olan Databricks istemci birleşik kimlik doğrulama standardını uygular. Bu yaklaşım, Azure Databricks ile kimlik doğrulamasını ayarlamayı ve otomatikleştirmeyi daha merkezi ve öngörülebilir hale getirir. Azure Databricks kimlik doğrulamasını bir kez yapılandırmanıza ve daha fazla kimlik doğrulaması yapılandırma değişikliği yapmadan bu yapılandırmayı birden çok Azure Databricks aracında ve SDK'da kullanmanıza olanak tanır.

Not

  • OAuth kullanıcıdan makineye (U2M) kimlik doğrulaması , Java 0.18.0 ve üzeri için Databricks SDK'sı üzerinde desteklenir. OAuth U2M kimlik doğrulamasını kullanmak için kod projenizin Java için Databricks SDK'sının yüklü sürümünü 0.18.0 veya üzeri bir sürüme güncelleştirmeniz gerekebilir. Bkz . Java için Databricks SDK'sını kullanmaya başlama.

    OAuth U2M kimlik doğrulaması için, Scala kodunuzu çalıştırmadan önce kimlik doğrulaması yapmak için Databricks CLI'yi kullanmanız gerekir. Öğretici'ye bakın.

  • OAuth makineden makineye (M2M) kimlik doğrulaması , Java 0.17.0 ve üzeri için Databricks SDK'sı üzerinde desteklenir. OAuth U2M kimlik doğrulamasını kullanmak için kod projenizin Java için Databricks SDK'sının yüklü sürümünü 0.17.0 veya üzeri bir sürüme güncelleştirmeniz gerekebilir. Bkz . Java için Databricks SDK'sını kullanmaya başlama.

  • Java için Databricks SDK'sı henüz Azure tarafından yönetilen kimlik doğrulaması gerçekleştirmemiştir.

  1. Aşağıdaki yapılandırma özelliklerini toplayın.

  2. Kodunuzun içindeki bağlantıyı yapılandırın. Databricks Connect, yapılandırma özelliklerini bulana kadar aşağıdaki sırayla arar. Bunları bulduklarında, kalan seçeneklerde aramayı durdurur. Her seçeneğin ayrıntıları aşağıdaki tablodan sonra görünür:

    Yapılandırma özellikleri seçeneği Şunlara uygulanır
    1. Sınıfın DatabricksSession remote() yöntemi Yalnızca Azure Databricks kişisel erişim belirteci kimlik doğrulaması
    2. Azure Databricks yapılandırma profili Tüm Azure Databricks kimlik doğrulama türleri
    3. Ortam SPARK_REMOTE değişkeni Yalnızca Azure Databricks kişisel erişim belirteci kimlik doğrulaması
    4. Ortam DATABRICKS_CONFIG_PROFILE değişkeni Tüm Azure Databricks kimlik doğrulama türleri
    5. Her yapılandırma özelliği için bir ortam değişkeni Tüm Azure Databricks kimlik doğrulama türleri
    6. Adlı bir Azure Databricks yapılandırma profili DEFAULT Tüm Azure Databricks kimlik doğrulama türleri
    1. Sınıfın DatabricksSession remote() yöntemi

      Yalnızca Azure Databricks kişisel erişim belirteci kimlik doğrulaması için geçerli olan bu seçenek için çalışma alanı örneği adını, Azure Databricks kişisel erişim belirtecini ve kümenin kimliğini belirtin.

      Sınıfı aşağıdaki gibi çeşitli yollarla başlatabilirsiniz DatabricksSession :

      • hostiçindeki DatabricksSession.builder, tokenve clusterId alanlarını ayarlayın.
      • Databricks SDK'sının sınıfını Config kullanın.
      • Alanıyla clusterId birlikte bir Databricks yapılandırma profili belirtin.

      Databricks, kodunuzda bu bağlantı özelliklerini doğrudan belirtmenizi önermez. Bunun yerine Databricks, bu bölümde açıklandığı gibi ortam değişkenleri veya yapılandırma dosyaları aracılığıyla özellikleri yapılandırmanızı önerir. Aşağıdaki kod örneklerde, kullanıcıdan veya Azure KeyVault gibi başka bir yapılandırma deposundan gerekli özellikleri almak için önerilen retrieve* işlevlerin bazı uygulamalarını sağladığınız varsayılır.

      Bu yaklaşımların her birinin kodu aşağıdaki gibidir:

      // Set the host, token, and clusterId fields in DatabricksSession.builder.
      // If you have already set the DATABRICKS_CLUSTER_ID environment variable with the
      // cluster's ID, you do not also need to set the clusterId field here.
      import com.databricks.connect.DatabricksSession
      
      val spark = DatabricksSession.builder()
        .host(retrieveWorkspaceInstanceName())
        .token(retrieveToken())
        .clusterId(retrieveClusterId())
        .getOrCreate()
      
      // Use the Databricks SDK's Config class.
      // If you have already set the DATABRICKS_CLUSTER_ID environment variable with the
      // cluster's ID, you do not also need to set the clusterId field here.
      import com.databricks.connect.DatabricksSession
      import com.databricks.sdk.core.DatabricksConfig
      
      val config = new DatabricksConfig()
        .setHost(retrieveWorkspaceInstanceName())
        .setToken(retrieveToken())
      val spark = DatabricksSession.builder()
        .sdkConfig(config)
        .clusterId(retrieveClusterId())
        .getOrCreate()
      
      // Specify a Databricks configuration profile along with the clusterId field.
      // If you have already set the DATABRICKS_CLUSTER_ID environment variable with the
      // cluster's ID, you do not also need to set the clusterId field here.
      import com.databricks.connect.DatabricksSession
      import com.databricks.sdk.core.DatabricksConfig
      
      val config = new DatabricksConfig()
        .setProfile("<profile-name>")
      val spark = DatabricksSession.builder()
        .sdkConfig(config)
        .clusterId(retrieveClusterId())
        .getOrCreate()
      
    2. Azure Databricks yapılandırma profili

      Bu seçenek için, kullanmak istediğiniz desteklenen Databricks kimlik doğrulama türü için gerekli olan alanı cluster_id ve diğer alanları içeren bir Azure Databricks yapılandırma profili oluşturun veya tanımlayın.

      Her kimlik doğrulama türü için gerekli yapılandırma profili alanları aşağıdaki gibidir:

      Ardından sınıfı aracılığıyla bu yapılandırma profilinin DatabricksConfig adını ayarlayın.

      Aşağıdaki gibi birkaç şekilde belirtebilirsiniz cluster_id :

      • cluster_id Alanı yapılandırma profilinize ekleyin ve yapılandırma profilinin adını belirtmeniz yeter.
      • Alanıyla clusterId birlikte yapılandırma profili adını belirtin.

      Ortam değişkenini kümenin DATABRICKS_CLUSTER_ID kimliğiyle ayarladıysanız veya clusterId alanlarını da belirtmeniz cluster_id gerekmez.

      Bu yaklaşımların her birinin kodu aşağıdaki gibidir:

      // Include the cluster_id field in your configuration profile, and then
      // just specify the configuration profile's name:
      import com.databricks.connect.DatabricksSession
      import com.databricks.sdk.core.DatabricksConfig
      
      val config = new DatabricksConfig()
        .setProfile("<profile-name>")
        val spark = DatabricksSession.builder()
        .sdkConfig(config)
        .getOrCreate()
      
      // Specify the configuration profile name along with the clusterId field.
      // In this example, retrieveClusterId() assumes some custom implementation that
      // you provide to get the cluster ID from the user or from some other
      // configuration store:
      import com.databricks.connect.DatabricksSession
      import com.databricks.sdk.core.DatabricksConfig
      
      val config = new DatabricksConfig()
        .setProfile("<profile-name>")
      val spark = DatabricksSession.builder()
        .sdkConfig(config)
        .clusterId(retrieveClusterId())
        .getOrCreate()
      
    3. Ortam SPARK_REMOTE değişkeni

      Yalnızca Azure Databricks kişisel erişim belirteci kimlik doğrulaması için geçerli olan bu seçenek için ortam değişkenini aşağıdaki dizeye ayarlayarak SPARK_REMOTE yer tutucuları uygun değerlerle değiştirin.

      sc://<workspace-instance-name>:443/;token=<access-token-value>;x-databricks-cluster-id=<cluster-id>
      

      Ardından sınıfını DatabricksSession aşağıdaki gibi başlatın:

      import com.databricks.connect.DatabricksSession
      
      val spark = DatabricksSession.builder().getOrCreate()
      

      Ortam değişkenlerini ayarlamak için işletim sisteminizin belgelerine bakın.

    4. Ortam DATABRICKS_CONFIG_PROFILE değişkeni

      Bu seçenek için, kullanmak istediğiniz desteklenen Databricks kimlik doğrulama türü için gerekli olan alanı cluster_id ve diğer alanları içeren bir Azure Databricks yapılandırma profili oluşturun veya tanımlayın.

      Ortam değişkenini kümenin DATABRICKS_CLUSTER_ID kimliğiyle önceden ayarladıysanız, belirtmeniz de gerekmez cluster_id.

      Her kimlik doğrulama türü için gerekli yapılandırma profili alanları aşağıdaki gibidir:

      Ortam değişkenini DATABRICKS_CONFIG_PROFILE bu yapılandırma profilinin adına ayarlayın. Ardından sınıfını DatabricksSession aşağıdaki gibi başlatın:

      import com.databricks.connect.DatabricksSession
      
      val spark = DatabricksSession.builder().getOrCreate()
      

      Ortam değişkenlerini ayarlamak için işletim sisteminizin belgelerine bakın.

    5. Her yapılandırma özelliği için bir ortam değişkeni

      Bu seçenek için, ortam değişkenini DATABRICKS_CLUSTER_ID ve kullanmak istediğiniz desteklenen Databricks kimlik doğrulama türü için gerekli olan diğer ortam değişkenlerini ayarlayın.

      Her kimlik doğrulama türü için gerekli ortam değişkenleri aşağıdaki gibidir:

      Ardından sınıfını DatabricksSession aşağıdaki gibi başlatın:

      import com.databricks.connect.DatabricksSession
      
      val spark = DatabricksSession.builder().getOrCreate()
      

      Ortam değişkenlerini ayarlamak için işletim sisteminizin belgelerine bakın.

    6. adlı bir Azure Databricks yapılandırma profili DEFAULT

      Bu seçenek için, kullanmak istediğiniz desteklenen Databricks kimlik doğrulama türü için gerekli olan alanı cluster_id ve diğer alanları içeren bir Azure Databricks yapılandırma profili oluşturun veya tanımlayın.

      Ortam değişkenini kümenin DATABRICKS_CLUSTER_ID kimliğiyle önceden ayarladıysanız, belirtmeniz de gerekmez cluster_id.

      Her kimlik doğrulama türü için gerekli yapılandırma profili alanları aşağıdaki gibidir:

      Bu yapılandırma profilini olarak DEFAULTadlandır.

      Ardından sınıfını DatabricksSession aşağıdaki gibi başlatın:

      scala
      import com.databricks.connect.DatabricksSession
      
      val spark = DatabricksSession.builder().getOrCreate()