Pular para o conteúdo principal

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:

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 de default é 443.

<schema>

O nome do esquema. Como alternativa, você pode definir 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 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:

  1. Defina a propriedade UseProxy como 1.
  2. 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:
    1. Defina a propriedade ProxyHost como o endereço IP ou nome de host do seu servidor proxy.
    2. Defina a propriedade ProxyPort como a porta que o servidor proxy usa para escutar as conexões do cliente.
    3. Defina a propriedade ProxyIgnoreList como um nome de host separado por vírgula.
    4. Autentique-se com o servidor proxy:
      • Para usar a autenticação básica

        1. Defina a propriedade ProxyAuth como 1.
        2. Defina a propriedade ProxyUID como seu nome de usuário para acessar o servidor.
        3. Defina a propriedade ProxyPWD como sua senha para acessar o servidor.
      • Para usar a autenticação SPNEGO:

        1. Autentique seu kerberos principal no nível do sistema.
        2. Defina a propriedade ProxyAuth como 2.

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:

  1. Defina a propriedade SSL como 1.
  2. Se o senhor não estiver usando um dos default Java Trust Stores, crie um Trust Store e configure o conector para usá-lo:
    1. Crie um Trust Store contendo seu certificado de servidor confiável e assinado.
    2. Defina a propriedade SSLTrustStore para o caminho completo do TrustStore.
    3. Defina a propriedade SSLTrustStorePwd como a senha para acessar o TrustStore.
    4. 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)

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

AuthMech

11

Auth_Flow

2

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:

  1. 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.
  2. 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

AuthMech

11

Auth_Flow

1

OAuth2ClientID

O UUID da entidade de serviço ou o valor do ID do aplicativo .

OAuth2Secret

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

AuthMech

3

user

O valor token, como uma cadeia de caracteres.

PWD ou password

Seu valor de tokens de acesso pessoal Databricks, como uma cadeia de caracteres.