Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Not
Bu makale Databricks Runtime 13.3 LTS ve üzeri için Databricks Connect'i kapsar.
Bu sayfada Databricks Connect ile Azure Databricks cluster veya sunucusuz işlem arasında bağlantı yapılandırmanın farklı yolları açıklanmaktadır.
Databricks Connect, Visual Studio Code, PyCharm, RStudio Desktop, IntelliJ IDEA, not defteri sunucuları ve diğer özel uygulamalar gibi popüler IDE'leri Azure Databricks kümelere bağlamanızı sağlar. Bkz. Databricks Connect.
Ayarlama
Başlamadan önce aşağıdakilere ihtiyacınız vardır:
- Databricks Connect yüklü. Yükleme gereksinimleri için bkz. Databricks Connect kullanım gereksinimleri.
- Azure Databricks workspace örneği adı. Bu, işleminizin Sunucu Ana Bilgisayar Adı değeridir. bkz. Azure Databricks işlem kaynağı için bağlantı ayrıntılarını alma.
- Klasik hesaplamaya bağlanıyorsanız, kümenizin kimliği. Küme kimliğini URL'den alabilirsiniz. Bkz. İşlem kaynağı URL'si ve kimliği.
Kümeye bağlantı yapılandırma
Kümenize bağlantıyı yapılandırmanın birden çok yolu vardır. Databricks Connect, yapılandırma özelliklerini aşağıdaki sırayla arar ve bulduğu ilk yapılandırmayı kullanır. Gelişmiş yapılandırma bilgileri için bkz. Databricks Connect'in gelişmiş kullanımı.
- DatabricksSession sınıfının remote() yöntemi.
- Databricks yapılandırma profili
- DATABRICKS_CONFIG_PROFILE ortam değişkeni
- Her yapılandırma özelliği için bir ortam değişkeni
- DEFAULT adlı bir Databricks yapılandırma profili
Sınıfın DatabricksSessionremote() yöntemi
Authenticate ile yalnızca Azure Databricks kişisel erişim belirteçleri (eski) 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ı çeşitli yollarla başlatabilirsiniz DatabricksSession :
-
hostiçindekitoken,cluster_idveDatabricksSession.builder.remote()alanlarını ayarlayın. - Databricks SDK'sının sınıfını
Configkullanın. - Bir Databricks yapılandırma profili belirtin ve
cluster_idalanını ekleyin.
Databricks, kodunuzda bu bağlantı özelliklerini belirtmek yerine, 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 retrieve_* gibi başka bir yapılandırma deposundan gerekli özellikleri almak için önerilen işlevlerinin bazı uygulamalarını sağladığınız varsayılır.
Bu yaklaşımların her birinin kodu aşağıdaki gibidir:
Python
# Set the host, token, and cluster_id fields in DatabricksSession.builder.remote.
# If you have already set the DATABRICKS_CLUSTER_ID environment variable with the
# cluster's ID, you do not also need to set the cluster_id field here.
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.remote(
host = f"https://{retrieve_workspace_instance_name()}",
token = retrieve_token(),
cluster_id = retrieve_cluster_id()
).getOrCreate()
Scala programlama dili
// 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()
Python
# 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 cluster_id field here.
from databricks.connect import DatabricksSession
from databricks.sdk.core import Config
config = Config(
host = f"https://{retrieve_workspace_instance_name()}",
token = retrieve_token(),
cluster_id = retrieve_cluster_id()
)
spark = DatabricksSession.builder.sdkConfig(config).getOrCreate()
Scala programlama dili
// 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()
Python
# Specify a Databricks configuration profile along with the `cluster_id` 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 cluster_id field here.
from databricks.connect import DatabricksSession
from databricks.sdk.core import Config
config = Config(
profile = "<profile-name>",
cluster_id = retrieve_cluster_id()
)
spark = DatabricksSession.builder.sdkConfig(config).getOrCreate()
Scala programlama dili
// 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()
Databricks yapılandırma profili
Bu seçenek için, alanını ve kullanmak istediğiniz cluster_id için gereken diğer alanları içeren bir Azure Databricks configuration 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 ile kimlik doğrulama:
hostvetoken. - OAuth makineden makineye (M2M) kimlik doğrulaması (desteklenen yerlerde):
host,client_idveclient_secret. -
OAuth kullanıcıdan makineye (U2M) kimlik doğrulaması için (desteklenen yerlerde):
host. -
Microsoft Entra ID (eski adı Azure Active Directory) hizmet sorumlusu kimlik doğrulaması için:
host,azure_tenant_id,azure_client_id,azure_client_secretve büyük olasılıklaazure_workspace_resource_id. -
Azure CLI kimlik doğrulaması için:
host. -
Azure yönetilen kimlik doğrulaması için (destekleniyorsa):
host,azure_use_msi,azure_client_idve büyük olasılıklaazure_workspace_resource_id.
Ardından yapılandırma sınıfı aracılığıyla bu yapılandırma profilinin adını ayarlayın.
Birkaç yolla belirtebilirsiniz cluster_id :
-
cluster_idAlanı yapılandırma profilinize ekleyin ve yapılandırma profilinin adını belirtmeniz yeter. - Alanıyla
cluster_idbirlikte yapılandırma profili adını belirtin.
Ortam değişkenini kümenin DATABRICKS_CLUSTER_ID kimliğiyle önceden ayarladıysanız, belirtmeniz de gerekmez cluster_id.
Bu yaklaşımların her birinin kodu aşağıdaki gibidir:
Python
# Include the cluster_id field in your configuration profile, and then
# just specify the configuration profile's name:
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.profile("<profile-name>").getOrCreate()
Scala programlama dili
// 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()
Python
# Specify the configuration profile name along with the cluster_id field.
# In this example, retrieve_cluster_id() assumes some custom implementation that
# you provide to get the cluster ID from the user or from some other
# configuration store:
from databricks.connect import DatabricksSession
from databricks.sdk.core import Config
config = Config(
profile = "<profile-name>",
cluster_id = retrieve_cluster_id()
)
spark = DatabricksSession.builder.sdkConfig(config).getOrCreate()
Scala programlama dili
// 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()
Ortam DATABRICKS_CONFIG_PROFILE değişkeni
Bu seçenek için, alanını ve kullanmak istediğiniz cluster_id için gereken diğer alanları içeren bir Azure Databricks configuration 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:
- Azure Databricks kişisel erişim belirteci ile kimlik doğrulama:
hostvetoken. - OAuth makineden makineye (M2M) kimlik doğrulaması (desteklenen yerlerde):
host,client_idveclient_secret. -
OAuth kullanıcıdan makineye (U2M) kimlik doğrulaması için (desteklenen yerlerde):
host. -
Microsoft Entra ID (eski adı Azure Active Directory) hizmet sorumlusu kimlik doğrulaması için:
host,azure_tenant_id,azure_client_id,azure_client_secretve büyük olasılıklaazure_workspace_resource_id. -
Azure CLI kimlik doğrulaması için:
host. -
Azure yönetilen kimlik doğrulaması için (destekleniyorsa):
host,azure_use_msi,azure_client_idve 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 DatabricksSession sınıfı başlatın.
Python
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.getOrCreate()
Scala programlama dili
import com.databricks.connect.DatabricksSession
val spark = DatabricksSession.builder().getOrCreate()
Her yapılandırma özelliği için bir ortam değişkeni
Bu seçenek için, kullanmak istediğiniz Databricks kimlik doğrulama türüDATABRICKS_CLUSTER_IDgereken ortam değişkenini ve 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 ile kimlik doğrulama:
DATABRICKS_HOSTveDATABRICKS_TOKEN. - OAuth makineden makineye (M2M) kimlik doğrulaması (desteklenen yerlerde):
DATABRICKS_HOST,DATABRICKS_CLIENT_IDveDATABRICKS_CLIENT_SECRET. -
OAuth kullanıcıdan makineye (U2M) kimlik doğrulaması için (desteklenen yerlerde):
DATABRICKS_HOST. -
Microsoft Entra ID (eski adı Azure Active Directory) hizmet sorumlusu kimlik doğrulaması için:
DATABRICKS_HOST,ARM_TENANT_ID,ARM_CLIENT_ID,ARM_CLIENT_SECRETve büyük olasılıklaDATABRICKS_AZURE_RESOURCE_ID. -
Azure CLI kimlik doğrulaması için:
DATABRICKS_HOST. -
Azure yönetilen kimlik doğrulaması için (destekleniyorsa):
DATABRICKS_HOST,ARM_USE_MSI,ARM_CLIENT_IDve büyük olasılıklaDATABRICKS_AZURE_RESOURCE_ID.
Ardından DatabricksSession sınıfı başlatın.
Python
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.getOrCreate()
Scala programlama dili
import com.databricks.connect.DatabricksSession
val spark = DatabricksSession.builder().getOrCreate()
Adlı bir Databricks yapılandırma profili DEFAULT
Bu seçenek için, alanını ve kullanmak istediğiniz cluster_id için gereken diğer alanları içeren bir Azure Databricks configuration 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:
- Azure Databricks kişisel erişim belirteci ile kimlik doğrulama:
hostvetoken. - OAuth makineden makineye (M2M) kimlik doğrulaması (desteklenen yerlerde):
host,client_idveclient_secret. -
OAuth kullanıcıdan makineye (U2M) kimlik doğrulaması için (desteklenen yerlerde):
host. -
Microsoft Entra ID (eski adı Azure Active Directory) hizmet sorumlusu kimlik doğrulaması için:
host,azure_tenant_id,azure_client_id,azure_client_secretve büyük olasılıklaazure_workspace_resource_id. -
Azure CLI kimlik doğrulaması için:
host. -
Azure yönetilen kimlik doğrulaması için (destekleniyorsa):
host,azure_use_msi,azure_client_idve büyük olasılıklaazure_workspace_resource_id.
Bu yapılandırma profilini olarak DEFAULTadlandır.
Ardından DatabricksSession sınıfı başlatın.
Python
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.getOrCreate()
Scala programlama dili
import com.databricks.connect.DatabricksSession
val spark = DatabricksSession.builder().getOrCreate()
Sunucusuz işlemle bağlantı yapılandırma
Python için Databricks Connect ve Scala sunucusuz işlem için bağlanma desteği sağlar. Bu özelliği kullanmak için sunucusuz bağlantı için sürüm gereksinimleri karşılanmalıdır. Bkz. Databricks Connect kullanım gereksinimleri.
Önemli
Bu özellik aşağıdaki sınırlamalara sahiptir:
- Sunucusuz işlem için Scala için Databricks Connect Beta sürümündedir.
- Databricks Connect sürümü ve Python veya Scala sürümü uyumlu olmalıdır. Bkz. Databricks Connect sürümleri.
- Python için Databricks Connect veya Scala için Databricks Connect sınırlamalarının tümü.
- Sunucusuz işlem sınırlamalarının tümü
Python için, yerel ortamınızda sunucusuz işlemle bağlantı yapılandırabilirsiniz:
Yerel ortam değişkenini
DATABRICKS_SERVERLESS_COMPUTE_IDolarakautoayarlayın. Bu ortam değişkeni ayarlanırsa, Databricks Connect değerinicluster_idyoksayar.Yerel bir Databricks yapılandırma profilinde öğesini ayarlayın
serverless_compute_id = auto, ardından kodunuzdan bu profile başvurun.[DEFAULT] host = https://my-workspace.cloud.databricks.com/ serverless_compute_id = auto token = dapi123...
Veya Python veya Scala için:
Python
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.serverless().getOrCreate()
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.remote(serverless=True).getOrCreate()
Scala programlama dili
import com.databricks.connect.DatabricksSession
val spark = DatabricksSession.builder.serverless().getOrCreate()
Databricks bağlantısını doğrulama
Databricks Connect için ortamınızın, varsayılan kimlik bilgilerinizin ve işlem bağlantısının doğru ayarlandığını doğrulamak için komutunu databricks-connect test çalıştırın:
databricks-connect test
Bu komut, Databricks Connect sürümünün Databricks sunucusuz işlem sürümüyle uyumsuz olması gibi kurulumda herhangi bir uyumsuzluk algıladığında sıfır olmayan bir çıkış kodu ve buna karşılık gelen bir hata iletisiyle başarısız olur. Databricks Connect sürüm destek bilgileri için bkz. Databricks Connect sürümleri.
Databricks Connect 14.3 ve sonraki sürümlerde, validateSession() kullanarak ortamınızı da doğrulayabilirsiniz.
DatabricksSession.builder.validateSession(True).getOrCreate()
Databricks Connect'i devre dışı bırakma
Databricks Connect (ve temel alınan Spark Connect) hizmetleri belirli bir kümede devre dışı bırakılabilir.
Databricks Connect hizmetini devre dışı bırakmak için kümede aşağıdaki Spark yapılandırmasını ayarlayın.
spark.databricks.service.server.enabled false