Pular para o conteúdo principal

Uso avançado do Databricks Connect

nota

Este artigo aborda Databricks Connect para Databricks Runtime 14.0 e acima.

Este artigo descreve tópicos que vão além da configuração básica do site Databricks Connect.

Configurar as cadeias de conexão do Spark Connect​

Além de se conectar ao site cluster usando as opções descritas em Configurar uma conexão com um site cluster, uma opção mais avançada é conectar-se usando as cadeias de conexão Spark Connect. O senhor pode passar as cadeias de caracteres na função remote ou definir a SPARK_REMOTE variável de ambiente.

nota

O senhor só pode usar uma autenticaçãoDatabricks pessoal access token para se conectar usando as cadeias de conexão Spark Connect.

Para definir as cadeias de conexão usando a função remote:

Python
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()

Como alternativa, defina a variável de ambiente SPARK_REMOTE:

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

Em seguida, inicialize a classe DatabricksSession:

Python
from databricks.connect import DatabricksSession

spark = DatabricksSession.builder.getOrCreate()

Use o servidor Spark Connect com o Databricks Connect​

Opcionalmente, você pode executar Databricks Connect em um servidor Spark Connect de código aberto.

importante

Alguns recursos disponíveis no Databricks Runtime e Databricks Connect são exclusivos do Databricks ou ainda não foram lançados no código aberto Apache Spark. Se o seu código depender desses recursos, os passos a seguir poderão falhar com erros.

  1. comece um servidor Spark Connect local. Veja como usar o Spark Connect

  2. Configurar o Databricks Connect. Defina a variável de ambiente SPARK_REMOTE para apontar para o seu servidor Spark Connect local. Consulte Conectando-se ao Spark Connect usando clientes.

    export SPARK_REMOTE="sc://localhost"
  3. Inicialize a sessão do Databricks:

Python
from databricks.connect import DatabricksSession

spark = DatabricksSession.builder.getOrCreate()

Cabeçalhos HTTP adicionais​

Databricks Connect se comunica com os clusters Databricks via gRPC sobre HTTP/2.

Para ter melhor controle sobre as solicitações provenientes dos clientes, os usuários avançados podem optar por instalar um serviço de proxy entre o cliente e o cluster do Databricks. Em alguns casos, os proxies podem exigir cabeçalhos personalizados nas solicitações HTTP.

Use o método header () para adicionar cabeçalhos personalizados às solicitações HTTP:

Python
from databricks.connect import DatabricksSession

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

Certificados​

Se o seu cluster depender de um certificado SSL/TLS personalizado para resolver um Databricks workspace nome de domínio totalmente qualificado (FQDN), o senhor deverá definir a variável de ambiente GRPC_DEFAULT_SSL_ROOTS_FILE_PATH no computador de desenvolvimento local. Essa variável de ambiente deve ser definida como o caminho completo para o certificado instalado no cluster.

O exemplo a seguir define essa variável de ambiente:

Python
import os

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

Para outras formas de definir a variável de ambiente, consulte a documentação do seu sistema operacional.

Registro e depuração logs​

O Databricks Connect for Python produz logs usando o logging padrão do Python.

são emitidos para a transmissão de erro padrão (stderr ) e, em default, são desativados. A definição de uma variável de ambiente SPARK_CONNECT_LOG_LEVEL=debug modificará esse default e imprimirá todas as mensagens log no nível DEBUG e superior.