Configurar uma conexão
Este artigo mostra como configurar uma conexão com Databricks usando o driverDatabricks JDBC (OSS).
Configurar o URL da conexão
Para se conectar ao Databricks workspace usando o driver JDBC, é necessário especificar um URL de conexão JDBC que inclua várias configurações de conexão, como o nome do host do servidor Databricks workspace , as configurações de recurso compute e as credenciais de autenticação para se conectar ao workspace.
O senhor pode definir o valor dessas propriedades no URL da conexão JDBC, definir e passá-las para o método DriverManager.getConnection ou uma combinação de ambos. Consulte a documentação do provedor para saber a melhor forma de se conectar usando seu aplicativo, cliente, SDK, API ou ferramenta SQL específicos.
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 de default é |
| O nome do esquema. Como alternativa, você pode definir 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 conexões proxy
O senhor pode configurar o conector para se conectar por meio de um servidor proxy em vez de se conectar diretamente ao Databricks. Ao se conectar por meio de um servidor proxy, o conector oferece suporte à autenticação básica e SPNEGO.
Para configurar uma conexão proxy:
- Defina a propriedade
UseProxy
como 1. - Para definir as configurações de proxy no nível do sistema, defina a propriedade
UseSystemProxy
como 1, caso contrário, defina-a para o driver da seguinte maneira:- Defina a propriedade
ProxyHost
como o endereço IP ou nome de host do seu servidor proxy. - Defina a propriedade
ProxyPort
como a porta que o servidor proxy usa para escutar as conexões do cliente. - Defina a propriedade
ProxyIgnoreList
como um nome de host separado por vírgula. - Autentique-se com o servidor proxy:
-
Para usar a autenticação básica
- Defina a propriedade
ProxyAuth
como 1. - Defina a propriedade
ProxyUID
como seu nome de usuário para acessar o servidor. - Defina a propriedade
ProxyPWD
como sua senha para acessar o servidor.
- Defina a propriedade
-
Para usar a autenticação SPNEGO:
- Autentique seu kerberos principal no nível do sistema.
- Defina a propriedade
ProxyAuth
como 2.
-
- Defina a propriedade
Para usar um proxy diferente especificamente para o CloudFetch, siga as etapas acima com as seguintes propriedades: UseCFProxy
, CFProxyHost
, CFProxyPort
, CFProxyAuth
, CFProxyUID
, CFProxyPwd
Configuração de SSL
Se estiver se conectando ao Databricks que tem o Secure Sockets Layer (SSL) ativado, o senhor pode configurar o conector para se conectar a um soquete ativado para SSL. Ao se conectar a um servidor por SSL, o conector usa autenticação unidirecional para verificar a identidade do servidor.
A autenticação unidirecional requer um certificado SSL assinado e confiável para verificar a identidade do servidor. Você pode configurar o conector para acessar um TrustStore específico que contém o certificado apropriado. Se o senhor não especificar um TrustStore, o conector usará o TrustStore default Java chamado jssecacerts. Se jssecacerts não estiver disponível, o conector usará cacerts em vez disso.
Para configurar o SSL:
- Defina a propriedade SSL como 1.
- Se o senhor não estiver usando um dos default Java Trust Stores, crie um Trust Store e configure o conector para usá-lo:
- Crie um Trust Store contendo seu certificado de servidor confiável e assinado.
- Defina a propriedade SSLTrustStore para o caminho completo do TrustStore.
- Defina a propriedade SSLTrustStorePwd como a senha para acessar o TrustStore.
- Se o TrustStore não for um JKS TrustStore, defina a propriedade SSLTrustStoreType para o tipo correto. Os tipos suportados são:
- SSLTrustStoreType=BCFKS (repositório de chaves FIPS BouncyCastle)
- SSLTrustStoreType=PKCS12 (Padrões de criptografia de chave pública nº 12)
Em certos casos, quando você deseja alterar a estratégia de revogação do certificado, o conector fornece os seguintes parâmetros:
- A propriedade CheckCertRevocation, quando definida como 0, aceitará certificados que tenham sido revogados (default valor da propriedade é 1)
- A propriedade AcceptUndeterminedRevocation, quando definida como 1, aceitará certificados em que não for possível identificar o status de revogação dos certificados (o CRLDP não pode ser acessado/tempo limite etc.); o valor default dessa propriedade é 0
Autentique o driver
O senhor pode autenticar a conexão do driver JDBC usando um dos seguintes mecanismos de autenticação:
- Autenticação OAuth de usuário para máquina (U2M) (recomendado)
- Autenticação OAuth machine-to-machine (M2M)
- Databricks tokens de acesso pessoal
Autenticação OAuth de usuário para máquina (U2M)
O driver JDBC é compatível com a autenticação de usuário para máquina (U2M) OAuth para login humano real e consentimento para autenticar o usuário de destino Databricks account. Isso também é conhecido como autenticação OAuth baseada em navegador .
A Databricks criou o ID do cliente OAuth databricks-sql-jdbc
para os clientes. Esse também é o ID do cliente default OAuth usado no driver JDBC. Para configurar a autenticação OAuth U2M, basta adicionar as seguintes propriedades ao URL de conexão JDBC existente ou ao objeto java.util.Properties
:
Propriedade | Valor |
---|---|
|
|
|
|
Autenticação OAuth máquina a máquina (M2M)
O driver JDBC oferece suporte à autenticação OAuth máquina a máquina (M2M) usando uma entidade de serviço da Databricks. Isso também é conhecido como autenticação de credenciais de cliente OAuth 2.0. Consulte Autorizar o acesso autônomo a Databricks recurso com uma entidade de serviço usando OAuth.
Para configurar a autenticação de credenciais de cliente OAuth M2M ou OAuth 2.0:
- Crie uma entidade de serviço Databricks em seu site Databricks workspace e crie um segredo OAuth para essa entidade de serviço. Consulte Autorizar o acesso autônomo a Databricks recurso com uma entidade de serviço usando OAuth. Anote o valor do UUID da entidade de serviço ou do ID do aplicativo e o valor do segredo do OAuth da entidade de serviço.
- Conceda à entidade de serviço acesso ao seu clustering ou depósito. Consulte computar permissões ou gerenciar SQL warehouse a.
Adicione as seguintes propriedades ao URL ou objeto java.util.Properties
de conexão JDBC existente:
Propriedade | Valor |
---|---|
|
|
|
|
| O UUID da entidade de serviço ou o valor do ID do aplicativo . |
| O valor do segredo OAuth da entidade de serviço. |
Databricks tokens de acesso pessoal
Para autenticar a JDBC conexão do driver usando Databricks tokens de acesso pessoal, adicione as seguintes propriedades ao JDBC URL ou java.util.Properties
objeto da conexão:
Propriedade | Valor |
---|---|
|
|
| O valor |
| Seu valor de tokens de acesso pessoal Databricks, como uma cadeia de caracteres. |