Pokročilé využití Databricks Connect pro Python
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í řetězec Spark Connect
Kromě připojení ke clusteru pomocí možností popsaných v části Konfigurace připojení ke clusteru se pomocí připojovací řetězec Spark Connect připojuje pokročilejší možnost. Řetězec můžete předat funkci remote
nebo nastavit proměnnou SPARK_REMOTE
prostředí.
Poznámka:
K připojení pomocí připojovací řetězec Spark Connect můžete použít pouze ověřování tokenů pat pro Databricks.
Nastavení připojovací řetězec pomocí remote
funkce:
# Set the Spark Connect connection string in DatabricksSession.builder.remote.
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>
Pak inicializovat DatabricksSession
třídu následujícím způsobem:
from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.getOrCreate()
Prostředí Pyspark
Databricks Connect pro Python se dodává s binárním souborem pyspark
, který je PySpark REPL (prostředí Sparku) nakonfigurované tak, aby používalo Databricks Connect. RePL můžete spustit spuštěním následujícího příkazu:
pyspark
Když začnete bez dalších parametrů, převezme z prostředí výchozí přihlašovací údaje (například DATABRICKS_
proměnné prostředí nebo DEFAULT
konfigurační profil) pro připojení ke clusteru Azure Databricks.
Po spuštění spark
REPL je objekt k dispozici pro spouštění příkazů Apache Sparku v clusteru Databricks.
>>> spark.range(3).show()
+---+
| id|
+---+
| 0|
| 1|
| 2|
+---+
RePL je možné nakonfigurovat tak, aby se připojil k jinému vzdálenému připojení, a to konfigurací parametru --remote
pomocí připojovací řetězec Spark Connect.
pyspark --remote "sc://<workspace-instance-name>:443/;token=<access-token-value>;x-databricks-cluster-id=<cluster-id>"
Pokud chcete prostředí zastavit, stiskněte Ctrl + d
nebo Ctrl + z
spusťte příkaz quit()
nebo exit()
.
Další hlavičky HTTP
Databricks Connect komunikuje s clustery Databricks přes gRPC přes HTTP/2.
Někteří pokročilí uživatelé se můžou rozhodnout nainstalovat proxy službu mezi klientem a clusterem Azure Databricks, aby měli lepší kontrolu nad požadavky přicházejícími ze svých klientů.
Proxy servery můžou v některých případech vyžadovat vlastní hlavičky v požadavcích HTTP.
Metodu headers()
lze použít k přidání vlastních hlaviček do požadavků HTTP.
spark = DatabricksSession.builder.header('x-custom-header', 'value').getOrCreate()
Certifikáty
Pokud váš cluster využívá vlastní certifikát SSL/TLS k překladu 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.
Tuto proměnnou prostředí například nastavíte v kódu Pythonu takto:
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.
Protokolování a ladění protokolů
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í se vygenerují pouze protokoly na úrovni WARN a vyšší.
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šší.