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
sbt
gibi 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
Scala projenizin maven için
sbt
pom.xml
veyabuild.gradle
Gradle için gibibuild.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'
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.
Aşağıdaki yapılandırma özelliklerini toplayın.
- Azure Databricks çalışma alanı örneği adı. Bu, kümenizin Sunucu Ana Bilgisayar Adı değeriyle aynıdır; bkz. Azure Databricks işlem kaynağı için bağlantı ayrıntılarını alma.
- Kümenizin kimliği. Küme kimliğini URL'den alabilirsiniz. Bkz. Küme URL'si ve Kimliği.
- Desteklenen Databricks kimlik doğrulama türü için gerekli olan diğer özellikler. Bu özellikler bu bölümün her bölümünde açıklanmıştır.
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öntemiYalnı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şkeniYalnızca Azure Databricks kişisel erişim belirteci kimlik doğrulaması 4. Ortam DATABRICKS_CONFIG_PROFILE
değişkeniTü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 Sınıfın
DatabricksSession
remote()
yöntemiYalnı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
:host
içindekiDatabricksSession.builder
,token
veclusterId
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()
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:
- Azure Databricks kişisel erişim belirteci kimlik doğrulaması için:
host
vetoken
. - OAuth makineden makineye (M2M) kimlik doğrulaması (desteklenen yerlerde):
host
,client_id
veclient_secret
. - OAuth kullanıcıdan makineye (U2M) kimlik doğrulaması için (desteklenen yerlerde):
host
. - Microsoft Entra Id (eski adıYla Azure Active Directory) hizmet sorumlusu kimlik doğrulaması için:
host
,azure_tenant_id
,azure_client_id
,azure_client_secret
ve büyük olasılıklaazure_workspace_resource_id
. - Azure CLI kimlik doğrulaması için:
host
. - Azure yönetilen kimlikleri kimlik doğrulaması için (burada desteklenir):
host
,azure_use_msi
,azure_client_id
ve büyük olasılıklaazure_workspace_resource_id
.
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 veyaclusterId
alanlarını da belirtmenizcluster_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()
- Azure Databricks kişisel erişim belirteci kimlik doğrulaması için:
Ortam
SPARK_REMOTE
değişkeniYalnı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.
Ortam
DATABRICKS_CONFIG_PROFILE
değişkeniBu 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 gerekmezcluster_id
.Her kimlik doğrulama türü için gerekli yapılandırma profili alanları aşağıdaki gibidir:
- Azure Databricks kişisel erişim belirteci kimlik doğrulaması için:
host
vetoken
. - OAuth makineden makineye (M2M) kimlik doğrulaması (desteklenen yerlerde):
host
,client_id
veclient_secret
. - OAuth kullanıcıdan makineye (U2M) kimlik doğrulaması için (desteklenen yerlerde):
host
. - Microsoft Entra Id (eski adıYla Azure Active Directory) hizmet sorumlusu kimlik doğrulaması için:
host
,azure_tenant_id
,azure_client_id
,azure_client_secret
ve büyük olasılıklaazure_workspace_resource_id
. - Azure CLI kimlik doğrulaması için:
host
. - Azure yönetilen kimlikleri kimlik doğrulaması için (burada desteklenir):
host
,azure_use_msi
,azure_client_id
ve büyük olasılıklaazure_workspace_resource_id
.
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.
- Azure Databricks kişisel erişim belirteci kimlik doğrulaması için:
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:
- Azure Databricks kişisel erişim belirteci kimlik doğrulaması için:
DATABRICKS_HOST
veDATABRICKS_TOKEN
. - OAuth makineden makineye (M2M) kimlik doğrulaması (desteklenen yerlerde):
DATABRICKS_HOST
,DATABRICKS_CLIENT_ID
veDATABRICKS_CLIENT_SECRET
. - OAuth kullanıcıdan makineye (U2M) kimlik doğrulaması için (desteklenen yerlerde):
DATABRICKS_HOST
. - Microsoft Entra Id (eski adıYla Azure Active Directory) hizmet sorumlusu kimlik doğrulaması için:
DATABRICKS_HOST
,ARM_TENANT_ID
,ARM_CLIENT_ID
,ARM_CLIENT_SECRET
ve büyük olasılıklaDATABRICKS_AZURE_RESOURCE_ID
. - Azure CLI kimlik doğrulaması için:
DATABRICKS_HOST
. - Azure yönetilen kimlikleri kimlik doğrulaması için (burada desteklenir):
DATABRICKS_HOST
,ARM_USE_MSI
,ARM_CLIENT_ID
ve büyük olasılıklaDATABRICKS_AZURE_RESOURCE_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.
- Azure Databricks kişisel erişim belirteci kimlik doğrulaması için:
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 gerekmezcluster_id
.Her kimlik doğrulama türü için gerekli yapılandırma profili alanları aşağıdaki gibidir:
- Azure Databricks kişisel erişim belirteci kimlik doğrulaması için:
host
vetoken
. - OAuth makineden makineye (M2M) kimlik doğrulaması (desteklenen yerlerde):
host
,client_id
veclient_secret
. - OAuth kullanıcıdan makineye (U2M) kimlik doğrulaması için (desteklenen yerlerde):
host
. - Microsoft Entra Id (eski adıYla Azure Active Directory) hizmet sorumlusu kimlik doğrulaması için:
host
,azure_tenant_id
,azure_client_id
,azure_client_secret
ve büyük olasılıklaazure_workspace_resource_id
. - Azure CLI kimlik doğrulaması için:
host
. - Azure yönetilen kimlikleri kimlik doğrulaması için (burada desteklenir):
host
,azure_use_msi
,azure_client_id
ve büyük olasılıklaazure_workspace_resource_id
.
Bu yapılandırma profilini olarak
DEFAULT
adlandı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()
- Azure Databricks kişisel erişim belirteci kimlik doğrulaması için: