Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Anmärkning
Den här artikeln beskriver Databricks Connect för Databricks Runtime 14.0 och senare.
Den här artikeln beskriver ämnen som går utöver den grundläggande installationen av Databricks Connect.
Konfigurera Anslutningssträngen för Spark Connect
Förutom att ansluta till klustret med de alternativ som beskrivs i Konfigurera en anslutning till ett kluster, är ett mer avancerat alternativ att ansluta med spark connect-anslutningssträngen. Du kan skicka strängen remote i funktionen eller ange SPARK_REMOTE miljövariabeln.
Anmärkning
Du kan bara använda en personlig åtkomsttoken från Databricks för autentisering för att ansluta med Spark Connect-anslutningssträngen.
python
Så här anger du anslutningssträngen med hjälp av remote funktionen:
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()
Du kan också ange SPARK_REMOTE miljövariabeln:
sc://<workspace-instance-name>:443/;token=<access-token-value>;x-databricks-cluster-id=<cluster-id>
Initiera sedan DatabricksSession-klassen:
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.getOrCreate()
Scala
SPARK_REMOTE Ange miljövariabeln:
sc://<workspace-instance-name>:443/;token=<access-token-value>;x-databricks-cluster-id=<cluster-id>
Initiera sedan DatabricksSession-klassen:
import com.databricks.connect.DatabricksSession
val spark = DatabricksSession.builder.getOrCreate()
Använda Spark Connect-servern med Databricks Connect
Du kan också köra Databricks Connect mot en Spark Connect-server med öppen källkod.
Viktigt!
Vissa funktioner som är tillgängliga i Databricks Runtime och Databricks Connect är exklusiva för Databricks eller har ännu inte släppts i Apache Spark med öppen källkod. Om koden förlitar sig på dessa funktioner kan följande steg misslyckas med fel.
Starta en lokal Spark Connect-server. Se Så här använder du Spark Connect
Konfigurera Databricks Connect. Ange miljövariabeln
SPARK_REMOTEså att den pekar på din lokala Spark Connect-server. Se Ansluta till Spark Connect med hjälp av klienter.export SPARK_REMOTE="sc://localhost"Initiera Databricks-sessionen:
python
from databricks.connect import DatabricksSession spark = DatabricksSession.builder.getOrCreate()Scala
import com.databricks.connect.DatabricksSession val spark = DatabricksSession.builder.getOrCreate()
Ytterligare HTTP-huvuden
Databricks Connect kommunicerar med Databricks-kluster via gRPC via HTTP/2.
För att få bättre kontroll över de begäranden som kommer från klienter kan avancerade användare välja att installera en proxytjänst mellan klienten och Azure Databricks-klustret. I vissa fall kan proxyservrarna kräva anpassade huvuden i HTTP-begäranden.
Använd metoden header() för att lägga till anpassade huvuden i HTTP-begäranden:
python
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()
Certificates
Om klustret förlitar sig på ett anpassat SSL/TLS-certifikat för att matcha ett fullständigt domännamn för Azure Databricks-arbetsytan (FQDN) måste du ange miljövariabeln GRPC_DEFAULT_SSL_ROOTS_FILE_PATH på den lokala utvecklingsdatorn. Den här miljövariabeln måste vara inställd på den fullständiga sökvägen till det installerade certifikatet i klustret.
python
I följande exempel anges den här miljövariabeln:
import os
os.environ["GRPC_DEFAULT_SSL_ROOTS_FILE_PATH"] = "/etc/ssl/certs/ca-bundle.crt"
Andra sätt att ange miljövariabler finns i dokumentationen för ditt operativsystem.
Scala
Java och Scala erbjuder inte sätt att konfigurera miljövariabler programmatiskt. Mer information om hur du konfigurerar dem som en del av ditt program finns i operativsystemet eller IDE-dokumentationen.
Loggning och felsökningsloggar
python
Databricks Connect för Python skapar loggar med python-standardloggning.
Loggar skickas till standardfelströmmen (stderr) och som standard är de inaktiverade.
Om du anger en miljövariabel ändras den här standardinställningen SPARK_CONNECT_LOG_LEVEL=debug och alla loggmeddelanden skrivs ut på nivån DEBUG och högre.
Scala
Databricks Connect för Scala använder SLF4J-loggning och levereras inte med några SLF4J-leverantörer.
Program som använder Databricks Connect förväntas innehålla en SLF4J-provider och i vissa fall konfigureras för att skriva ut loggmeddelandena.
- Det enklaste alternativet är att inkludera slf4j-simple provider som skriver ut loggmeddelanden från
INFO-nivån och uppåt till standardfelströmmen (stderr). - Ett mer konfigurerbart alternativ är att använda slf4j-reload4j-providern som hämtar konfigurationen från en
log4j.propertiesfil i klassökvägen.
I följande exempel visas en enkel log4j.properties fil.
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
I föregående exempel skrivs felsökningsloggar ut om rotloggaren (eller en specifik loggare) har konfigurerats på nivån DEBUG :
log4j.rootLogger=DEBUG,stderr