Scala için Databricks Bağlan yükleme

Not

Bu makalede Databricks Runtime 13.3 LTS ve üzeri için Databricks Bağlan yer alır.

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

Gereksinimler

  • Hedef Azure Databricks çalışma alanınız ve kümeniz Databricks Bağlan 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 Bağlan gereksinimlerini karşıladıktan sonra, Databricks Bağlan istemcisini ayarlamak için aşağıdaki adımları tamamlayın.

1. Adım: Databricks Bağlan istemcisine başvuru ekleme

  1. Scala projenizin maven için veya build.gradle Gradle gibi build.sbtsbtpom.xml derleme dosyasına Databricks Bağlan 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 Bağlan kitaplığının sürümüyle değiştirin14.0.0. Databricks Bağlan kitaplığı sürüm numaralarını Maven merkezi deposunda bulabilirsiniz.

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

Bu bölümde, Databricks Bağlan ile uzak Azure Databricks kümeniz arasında bağlantı kurmak için özellikleri yapılandıracaksınız. Bu özellikler databricks Bağlan kümenizle kimlik doğrulamasına yönelik ayarları içerir.

Databricks Runtime 13.3 LTS ve üzeri için Databricks Bağlan Scala için Databricks Bağlan, 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 Bağlan, 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 DatabricksSessionremote() 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 DatabricksSessionremote() 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()