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.
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:
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);
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.
Os elementos e propriedades do URL não diferenciam maiúsculas de minúsculas.
Elemento ou propriedade do URL | Descrição |
|---|---|
| O valor do nome do host do servidor do recurso Databricks compute . |
| O valor da porta do recurso Databricks compute . O valor default é |
| O nome do esquema. Alternativamente, defina a propriedade |
| O valor do caminho HTTP do recurso Databricks compute . O conector forma o endereço HTTP ao qual se conectar anexando o valor |
Para obter o JDBC URL de Databricks conexão para um clustering:
- Faça login no seu espaço de trabalho do Databricks.
- Na barra lateral, clique em computar e, em seguida, clique no nome do clustering de destino.
- Em Configuration (Configuração ) tab, expanda Advanced options (Opções avançadas ).
- Clique no link JDBC/ODBC tab.
- 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:
- Faça login no seu espaço de trabalho do Databricks.
- Na barra lateral, clique em SQL warehouse e, em seguida, clique no nome do warehouse de destino.
- Clique em Connection details (Detalhes da conexão) tab.
- 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
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:
- Defina
UseProxy=1. - Conjunto
ProxyHost,ProxyPorteProxyIgnoreList. - Para autenticar com o servidor proxy, escolha um método:
- Básico : Conjunto
ProxyAuth=1,ProxyUIDeProxyPWD. - SPNEGO (ambientes Kerberos): Autentique seu principal Kerberos no nível do sistema e, em seguida, defina
ProxyAuth=2.
- Básico : Conjunto
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:
- Defina
SSL=1. - 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
SSLTrustStorecomo o caminho completo do TrustStore. - Defina
SSLTrustStorePwdcomo a senha do TrustStore. - Se o TrustStore não for um JKS TrustStore, defina
SSLTrustStoreTypecomoBCFKS(BouncyCastle FIPS Keystore) ouPKCS12.
Para alterar a estratégia de revogação de certificados, defina as seguintes propriedades:
CheckCertRevocationDefina como0para aceitar certificados revogados. O default é1.AcceptUndeterminedRevocationDefina como1para 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.