Pular para o conteúdo principal

Configurar uma conexão com o Databricks usando o driver JDBC do Databricks

Esta página mostra como configurar uma conexão com o Databricks usando o driver JDBC Databricks , versão 3 e superior.

Configurar a conexão

Para se conectar ao seu workspace Databricks usando o driver JDBC , você precisa especificar as configurações de conexão, incluindo hostname do servidor do seu workspace, as configurações de recursos compute e as credenciais de autenticação.

nota

O driver JDBC não suporta a conexão com o Job compute.

Defina essas propriedades na URL de conexão JDBC, passe-as para o método DriverManager.getConnection ou use uma combinação de ambos. Consulte a documentação do fornecedor para saber a melhor forma de se conectar usando seu aplicativo, cliente, SDK, API ou ferramenta SQL específica.

O URL da conexão JDBC deve estar no seguinte formato. As propriedades não diferenciam maiúsculas de minúsculas.

jdbc:databricks://<server-hostname>:<port>/<schema>;[property1]=[value];[property2]=[value];...

Como alternativa, especifique as configurações usando a classe java.util.Properties ou uma combinação:

Java
String url = "jdbc:databricks://<server-hostname>:<port>/<schema>";
Properties properties = new java.util.Properties();
properties.put("<property1>", "<value1");
properties.put("<property2>", "<value2");
// ...
Connection conn = DriverManager.getConnection(url, properties);
Java
String url = "jdbc:databricks://<server-hostname>:<port>/<schema>;[property1]=[value];[property2]=[value];";
Connection conn = DriverManager.getConnection(url, "token", "12345678901234667890abcdabcd");

Os elementos do URL de conexão são descritos na tabela a seguir.

Para obter informações sobre propriedades adicionais, incluindo propriedades de autenticação, propriedades de configuração do SQL e propriedades de registro, consulte Propriedades de conexão suportadas.

nota

Os elementos e propriedades do URL não diferenciam maiúsculas de minúsculas.

Elemento ou propriedade do URL

Descrição

<server-hostname>

O valor do nome do host do servidor do recurso Databricks compute .

<port>

O valor da porta do recurso Databricks compute . O valor default é 443.

<schema>

O nome do esquema. Alternativamente, defina a propriedade ConnSchema . Consulte Propriedades de conexão suportadas.

httpPath

O valor do caminho HTTP do recurso Databricks compute . O conector forma o endereço HTTP ao qual se conectar anexando o valor httpPath ao host e à porta especificados na URL da conexão. Por exemplo, para se conectar ao endereço HTTP http://localhost:10002/cliservice, você usaria o seguinte URL de conexão: jdbc:databricks://localhost:10002;httpPath=cliservice

Para obter o JDBC URL de Databricks conexão para um clustering:

  1. Faça login no seu espaço de trabalho do Databricks.
  2. Na barra lateral, clique em computar e, em seguida, clique no nome do clustering de destino.
  3. Em Configuration (Configuração ) tab, expanda Advanced options (Opções avançadas ).
  4. Clique no link JDBC/ODBC tab.
  5. Copie o URL do JDBC para usar como URL de conexão JDBC ou construa o URL a partir dos valores nos campos Nome do host do servidor , Porta e Caminho HTTP .

Para obter o JDBC URL de conexão para um Databricks SQL depósito:

  1. Faça login no seu espaço de trabalho do Databricks.
  2. Na barra lateral, clique em SQL warehouse e, em seguida, clique no nome do warehouse de destino.
  3. Clique em Connection details (Detalhes da conexão) tab.
  4. Copie o URL do JDBC para usar como URL de conexão JDBC ou construa o URL a partir dos valores nos campos Nome do host do servidor , Porta e Caminho HTTP .

Configurar tags de consulta

info

Visualização

Este recurso está em Visualização Privada. Para solicitar acesso, entre em contato com sua equipe account .

Associe tags key-valor a consultas SQL para fins de acompanhamento e análise. As tags aparecem na tabela system.query.history para identificação e análise de consultas.

Para adicionar tags de consulta à sua conexão, inclua a propriedade query_tags no seu URL JDBC:

jdbc:databricks://<server-hostname>:<port>/<schema>;query_tags=key1:value1,key2:value2

tags de consulta usam uma keyseparada por vírgulas formato de par:

  • query_tags=key:value ( tag única)
  • query_tags=key1:value1,key2:value2,key3:value3 (várias tags)

Configurar conexões proxy

Configure o conector para se conectar através de um servidor proxy em vez de se conectar diretamente ao Databricks. O conector suporta autenticação básica e SPNEGO ao conectar-se através de um servidor proxy. Consulte Propriedades de conexão suportadas.

Para usar as configurações de proxy em nível de sistema, defina UseProxy=1 e UseSystemProxy=1.

Para configurar as definições de proxy manualmente:

  1. Defina UseProxy=1.
  2. Conjunto ProxyHost, ProxyPort e ProxyIgnoreList.
  3. Para autenticar com o servidor proxy, escolha um método:
    • Básico : Conjunto ProxyAuth=1, ProxyUID e ProxyPWD.
    • SPNEGO (ambientes Kerberos): Autentique seu principal Kerberos no nível do sistema e, em seguida, defina ProxyAuth=2.

Configure um proxy para o Cloud Fetch.

O Cloud Fetch requer uma configuração de proxy separada da conexão principal do driver. Use as propriedades de conexão UseCFProxy, CFProxyHost, CFProxyPort, CFProxyAuth, CFProxyUID e CFProxyPwd para rotear o tráfego do Cloud Fetch por meio de um proxy. Consulte Propriedades de conexão suportadas.

O Cloud Fetch downloads os arquivos de resultados diretamente do Amazon S3. A máquina cliente deve ter acesso à rede do bucket S3 raiz do workspace e as regras de proxy e firewall devem permitir tráfego HTTPS para *.s3.amazonaws.com.

Solução de problemas

Se você não conseguir resolver os problemas de proxy, defina EnableQueryResultDownload=0 para desativar o Cloud Fetch e recorrer ao download direto.

Para diagnosticar problemas de desempenho, defina LogLevel=4 para ativar o registro de nível INFO. O driver logs a velocidade download por bloco, portanto, conjuntos de resultados grandes geram várias linhas log :

CloudFetch download speed: 21.24 MB/s
CloudFetch download speed: 20.60 MB/s

O driver logs um aviso quando a velocidade download cai abaixo de aproximadamente 1 MB/s. O componente de log é com.databricks.client.spark.jdbc.ResultFileDownloadHandler. Se downloads estiverem lentos ou travados, aumente CloudFetchThreadPoolSize para download mais partes do arquivo em paralelo.

Configuração de SSL

Se você estiver se conectando a um workspace Databricks com SSL habilitado, configure o conector para se conectar a um socket SSLhabilitado. O conector utiliza autenticação unidirecional para verificar a identidade do servidor.

A autenticação unidirecional requer um certificado SSL assinado e confiável. Configure o conector para acessar um TrustStore específico. Se você não especificar um TrustStore, o conector usará o TrustStore default Java (jssecacerts) ou o cacerts caso o jssecacerts não esteja disponível.

Para configurar o SSL:

  1. Defina SSL=1.
  2. Se você não estiver usando um TrustStore Java default , configure um personalizado:
    • Crie um TrustStore contendo seu certificado de servidor confiável e assinado.
    • Defina SSLTrustStore como o caminho completo do TrustStore.
    • Defina SSLTrustStorePwd como a senha do TrustStore.
    • Se o TrustStore não for um JKS TrustStore, defina SSLTrustStoreType como BCFKS (BouncyCastle FIPS Keystore) ou PKCS12.

Para alterar a estratégia de revogação de certificados, defina as seguintes propriedades:

  • CheckCertRevocationDefina como 0 para aceitar certificados revogados. O default é 1.
  • AcceptUndeterminedRevocationDefina como 1 para aceitar certificados com status de revogação indeterminado (por exemplo, quando o CRLDP estiver inacessível ou atingir o tempo limite). O default é 0.

Autentique o driver

Para obter informações sobre como configurar a autenticação para o driver JDBC , consulte Configurações de autenticação para o driver JDBC Databricks.