Udostępnij za pośrednictwem


Zaawansowane użycie Połączenie usługi Databricks dla języka Python

Uwaga

W tym artykule opisano usługę Databricks Połączenie dla środowiska Databricks Runtime w wersji 14.0 lub nowszej.

W tym artykule opisano tematy wykraczające poza podstawową konfigurację Połączenie usługi Databricks.

Rejestrowanie i debugowanie dzienników

Usługa Databricks Połączenie dla języka Python tworzy dzienniki przy użyciu standardowego rejestrowania języka Python.

Dzienniki są emitowane do standardowego strumienia błędów (stderr), a domyślnie są to tylko dzienniki na poziomie WARN i wyższe są emitowane.

Ustawienie zmiennej środowiskowej spowoduje zmodyfikowanie tej wartości domyślnej SPARK_CONNECT_LOG_LEVEL=debug i wyświetlenie wszystkich komunikatów dziennika na DEBUG poziomie i wyższym.

Powłoka Pyspark

Usługa Databricks Połączenie dla języka Python jest dostarczana z plikiem binarnympyspark, który jest zestawem PySpark REPL skonfigurowanym do używania Połączenie usługi Databricks. RePL można uruchomić, uruchamiając polecenie:

pyspark

Po uruchomieniu bez dodatkowych parametrów pobiera domyślne poświadczenia ze środowiska (na przykład DATABRICKS_ zmienne środowiskowe lub DEFAULT profil konfiguracji) w celu nawiązania połączenia z klastrem usługi Azure Databricks.

Po uruchomieniu spark środowiska REPL obiekt jest dostępny do uruchamiania poleceń platformy Apache Spark w klastrze usługi Databricks.

>>> spark.range(3).show()
+---+
| id|
+---+
|  0|
|  1|
|  2|
+---+

RePL można skonfigurować tak, aby nawiązać połączenie z innym zdalnym połączeniem, konfigurując --remote parametr za pomocą parametry połączenia spark connect.

pyspark --remote "sc://<workspace-instance-name>:443/;token=<access-token-value>;x-databricks-cluster-id=<cluster-id>"

Dodatkowe nagłówki HTTP

Usługa Databricks Połączenie komunikuje się z klastrami usługi Databricks za pośrednictwem protokołu gRPC za pośrednictwem protokołu HTTP/2.

Niektórzy zaawansowani użytkownicy mogą zdecydować się na zainstalowanie usługi proxy między klientem a klastrem usługi Azure Databricks, aby mieć lepszą kontrolę nad żądaniami pochodzącymi z klientów.

Serwery proxy, w niektórych przypadkach, mogą wymagać niestandardowych nagłówków w żądaniach HTTP.

Metoda headers() może służyć do dodawania niestandardowych nagłówków do żądań HTTP.

spark = DatabricksSession.builder.header('x-custom-header', 'value').getOrCreate()

Certyfikaty

Jeśli klaster korzysta z niestandardowego certyfikatu SSL/TLS, aby rozpoznać obszar roboczy usługi Azure Databricks w pełni kwalifikowaną nazwę domeny (FQDN), musisz ustawić zmienną środowiskową GRPC_DEFAULT_SSL_ROOTS_FILE_PATH na lokalnej maszynie dewelopera. Ta zmienna środowiskowa musi być ustawiona na pełną ścieżkę do zainstalowanego certyfikatu w klastrze.

Można na przykład ustawić tę zmienną środowiskową w kodzie języka Python w następujący sposób:

import os

os.environ["GRPC_DEFAULT_SSL_ROOTS_FILE_PATH"] = "/etc/ssl/certs/ca-bundle.crt"

Inne sposoby ustawiania zmiennych środowiskowych można znaleźć w dokumentacji systemu operacyjnego.