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.
Uyarı
Bu makale Databricks Runtime 14.0 ve üzeri için Databricks Connect'i kapsar.
Bu makalede Databricks Connect'in temel kurulumunun ötesindeki konular açıklanmaktadır.
Spark Connect bağlantı dizesini yapılandırma
Kümeye bağlantı yapılandırma başlığı altında açıklanan seçenekleri kullanarak kümenize bağlanmanın yanı sıra Spark Connect bağlantı dizesini kullanarak daha gelişmiş bir seçenek de bağlanmaktır. String'i remote işlevinde geçirebilir veya SPARK_REMOTE ortam değişkenini ayarlayabilirsiniz.
Uyarı
Spark Connect bağlantı dizesini kullanarak bağlanmak için yalnızca Databricks kişisel erişim belirteci kimlik doğrulamasını kullanabilirsiniz.
Piton
işlevini kullanarak bağlantı dizesini remote ayarlamak için:
from databricks.connect import DatabricksSession
workspace_instance_name = retrieve_workspace_instance_name()
token = retrieve_token()
cluster_id = retrieve_cluster_id()
spark = DatabricksSession.builder.remote(
f"sc://{workspace_instance_name}:443/;token={token};x-databricks-cluster-id={cluster_id}"
).getOrCreate()
Alternatif olarak ortam değişkenini SPARK_REMOTE ayarlayın:
sc://<workspace-instance-name>:443/;token=<access-token-value>;x-databricks-cluster-id=<cluster-id>
Ardından DatabricksSession sınıfı başlatın.
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.getOrCreate()
Scala
Ortam değişkenini SPARK_REMOTE ayarlayın:
sc://<workspace-instance-name>:443/;token=<access-token-value>;x-databricks-cluster-id=<cluster-id>
Ardından DatabricksSession sınıfı başlatın.
import com.databricks.connect.DatabricksSession
val spark = DatabricksSession.builder.getOrCreate()
Spark Connect sunucusunu Databricks Connect ile kullanma
İsteğe bağlı olarak Databricks Connect'i açık kaynak Spark Connect sunucusunda çalıştırabilirsiniz.
Önemli
Databricks Runtime ve Databricks Connect'te kullanılabilen bazı özellikler Databricks'e özeldir veya henüz açık kaynak Apache Spark'ta yayımlanmaz. Kodunuz bu özelliklere bağlıysa aşağıdaki adımlar hatalarla başarısız olabilir.
Yerel bir Spark Connect sunucusu başlatın. Bkz. Spark Connect'i kullanma
Databricks Connect'i yapılandırın. Ortam değişkenini
SPARK_REMOTEyerel Spark Connect sunucunuza işaret eden şekilde ayarlayın. Bkz İstemcileri kullanarak Spark Connect'e bağlanma.export SPARK_REMOTE="sc://localhost"Databricks oturumunu başlatın:
Piton
from databricks.connect import DatabricksSession spark = DatabricksSession.builder.getOrCreate()Scala
import com.databricks.connect.DatabricksSession val spark = DatabricksSession.builder.getOrCreate()
Ekstra HTTP başlıkları
Databricks Connect, HTTP/2 üzerinden gRPC aracılığıyla Databricks Kümeleri ile iletişim kurar.
İstemcilerden gelen istekler üzerinde daha iyi denetim sahibi olmak için, ileri düzey kullanıcılar istemci ile Azure Databricks kümesi arasında bir proxy hizmeti yüklemeyi seçebilir. Bazı durumlarda proxy'ler HTTP isteklerinde özel üst bilgiler gerektirebilir.
HTTP isteklerine özel üst bilgiler eklemek için header() yöntemini kullanın:
Piton
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.header('x-custom-header', 'value').getOrCreate()
Scala
import com.databricks.connect.DatabricksSession
val spark = DatabricksSession.builder.header("x-custom-header", "value").getOrCreate()
Sertifikalar
Kümeniz Azure Databricks çalışma alanı tam etki alanı adını (FQDN) çözümlemek için özel bir SSL/TLS sertifikası kullanıyorsa, yerel geliştirme makinenizde ortam değişkenini GRPC_DEFAULT_SSL_ROOTS_FILE_PATH ayarlamanız gerekir. Bu ortam değişkeni, kümede yüklü sertifikanın tam yoluna ayarlanmalıdır.
Piton
Aşağıdaki örnek bu ortam değişkenini ayarlar:
import os
os.environ["GRPC_DEFAULT_SSL_ROOTS_FILE_PATH"] = "/etc/ssl/certs/ca-bundle.crt"
Ortam değişkenlerini ayarlamanın diğer yolları için işletim sisteminizin belgelerine bakın.
Scala
Java ve Scala, ortam değişkenlerini program aracılığıyla yapılandırmanın yollarını sunmaz. Bunları uygulamanızın bir parçası olarak yapılandırma hakkında bilgi için işletim sisteminize veya IDE belgelerinize bakın.
Günlük kaydı ve hata ayıklama günlükleri
Piton
Python için Databricks Connect, standart Python günlüğünü kullanarak günlükler oluşturur.
Günlükler standart hata akışına (stderr) gönderilir ve varsayılan olarak kapatılır.
Ortam değişkeni SPARK_CONNECT_LOG_LEVEL=debug ayarlandığında, bu varsayılanı değiştirir ve DEBUG düzeyinde ve daha yüksek düzeydeki tüm günlük iletilerini yazdırır.
Scala
Scala için Databricks Connect, SLF4J günlük tutma kullanır ve herhangi bir SLF4J sağlayıcısıyla birlikte gelmez.
Databricks Connect kullanan uygulamaların bir SLF4J sağlayıcısı içermesi ve bazı durumlarda günlük iletilerini yazdıracak şekilde yapılandırılması beklenir.
- En basit seçenek, günlük iletilerini standart hata akışına (
INFO) ve daha yüksek düzeyde yazdıran slf4j-simple sağlayıcısını dahil etmektir. - Daha yapılandırılabilir bir alternatif, sınıf yolundaki bir dosyadan yapılandırmayı alan
log4j.propertieskullanmaktır.
Aşağıdaki örnekte basit log4j.properties bir dosya gösterilmektedir.
log4j.rootLogger=INFO,stderr
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%p\t%d{ISO8601}\t%r\t%c\t[%t]\t%m%n
Yukarıdaki örnekte, kök günlükçü (veya belirli bir günlükçü) düzeyinde yapılandırılmışsa DEBUG hata ayıklama günlükleri yazdırılır:
log4j.rootLogger=DEBUG,stderr