Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Poznámka:
Tento článek popisuje Databricks Connect pro Databricks Runtime 14.0 a vyšší.
Tento článek popisuje témata, která překračují základní nastavení Databricks Connect.
Konfigurace připojovacího řetězce Spark Connect
Kromě připojení ke clusteru pomocí možností popsaných v části Konfigurace připojení ke clusteru je pokročilejší možností použití připojovacího řetězce Spark Connect. Řetězec můžete předat funkci remote nebo nastavit proměnnou SPARK_REMOTE prostředí.
Poznámka:
K připojení pomocí připojovacího řetězce Spark Connect můžete použít pouze osobní přístupový token Databricks.
Python
Nastavení připojovacího řetězce pomocí remote funkce:
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()
Případně nastavte proměnnou SPARK_REMOTE prostředí:
sc://<workspace-instance-name>:443/;token=<access-token-value>;x-databricks-cluster-id=<cluster-id>
Potom inicializujete DatabricksSession třídu:
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.getOrCreate()
Scala
Nastavte proměnnou SPARK_REMOTE prostředí:
sc://<workspace-instance-name>:443/;token=<access-token-value>;x-databricks-cluster-id=<cluster-id>
Potom inicializujete DatabricksSession třídu:
import com.databricks.connect.DatabricksSession
val spark = DatabricksSession.builder.getOrCreate()
Použití serveru Spark Connect s Databricks Connect
Volitelně můžete spustit Databricks Connect na opensourcový server Spark Connect.
Důležité
Některé funkce dostupné v Databricks Runtime a Databricks Connect jsou exkluzivní pro Databricks nebo ještě nejsou vydané ve open source Apache Sparku. Pokud váš kód spoléhá na tyto funkce, může následující postup selhat s chybami.
Spusťte místní server Spark Connect. Podívejte se, jak používat Spark Connect
Nakonfigurujte Databricks Connect. Nastavte proměnnou prostředí
SPARK_REMOTEtak, aby odkazovala na váš místní server Spark Connect. Viz Připojení k Spark Connect pomocí klientů.export SPARK_REMOTE="sc://localhost"Inicializace relace Databricks:
Python
from databricks.connect import DatabricksSession spark = DatabricksSession.builder.getOrCreate()Scala
import com.databricks.connect.DatabricksSession val spark = DatabricksSession.builder.getOrCreate()
Další hlavičky HTTP
Databricks Connect komunikuje s clustery Databricks přes gRPC přes HTTP/2.
Pokud chcete mít lepší kontrolu nad požadavky přicházejícími z klientů, můžou se pokročilí uživatelé rozhodnout nainstalovat službu proxy mezi klientem a clusterem Azure Databricks. V některých případech můžou proxy vyžadovat vlastní hlavičky v požadavcích HTTP.
K přidání vlastních hlaviček do požadavků HTTP použijte metodu header():
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()
Certifikáty
Pokud váš cluster využívá vlastní certifikát SSL/TLS k rozlišení plně kvalifikovaného názvu domény pracovního prostoru Azure Databricks, musíte nastavit proměnnou GRPC_DEFAULT_SSL_ROOTS_FILE_PATH prostředí na místním vývojovém počítači. Tato proměnná prostředí musí být nastavená na úplnou cestu k nainstalovanému certifikátu v clusteru.
Python
Následující příklad nastaví tuto proměnnou prostředí:
import os
os.environ["GRPC_DEFAULT_SSL_ROOTS_FILE_PATH"] = "/etc/ssl/certs/ca-bundle.crt"
Další způsoby nastavení proměnných prostředí najdete v dokumentaci k vašemu operačnímu systému.
Scala
Java a Scala nenabízí způsoby konfigurace proměnných prostředí prostřednictvím kódu programu. Informace o tom, jak je nakonfigurovat jako součást aplikace, najdete v dokumentaci k operačnímu systému nebo integrovanému vývojovému prostředí.
Protokolování a ladění protokolů
Python
Databricks Connect pro Python vytváří protokoly pomocí standardního protokolování Pythonu.
Protokoly se generují do standardního chybového streamu (stderr) a ve výchozím nastavení jsou vypnuté.
Nastavení proměnné SPARK_CONNECT_LOG_LEVEL=debug prostředí upraví toto výchozí nastavení a vytiskne všechny zprávy protokolu na DEBUG úrovni a vyšší.
Scala
Databricks Connect pro Scala používá protokolování SLF4J a neobsahuje žádné poskytovatele SLF4J.
U aplikací, které používají Databricks Connect, se očekává, že budou obsahovat poskytovatele SLF4J, a v určitých případech budou konfigurovány tak, aby tiskly protokolové zprávy.
- Nejjednodušší možností je zahrnout poskytovatele slf4j-simple, který vypíše zprávy protokolu od úrovně
INFOa vyšší do standardního chybového streamu (stderr). - Lépe konfigurovatelnou alternativou je použít zprostředkovatele slf4j-reload4j, který přebírá konfiguraci ze
log4j.propertiessouboru ve třídní cestě.
Následující příklad ukazuje jednoduchý log4j.properties soubor.
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
V předchozím příkladu se protokoly ladění vytisknou, pokud je kořenový protokolovací nástroj (nebo konkrétní protokolovací nástroj) nakonfigurovaný na DEBUG úrovni:
log4j.rootLogger=DEBUG,stderr