Partilhar via


Configurar uma conexão com o Databricks usando o Databricks JDBC Driver

Este artigo mostra como configurar uma conexão com o Databricks usando o Databricks JDBC Driver, versão 3 e superior.

Configurar a conexão

Para se conectar ao seu espaço de trabalho do Azure Databricks usando o driver JDBC, você precisa especificar várias configurações de conexão, como o nome de host do servidor do espaço de trabalho do Azure Databricks, as configurações de recursos de computação e as credenciais de autenticação para se conectar ao espaço de trabalho.

Observação

O driver JDBC não suporta a conexão com a computação de trabalhos.

Você pode definir o valor dessas propriedades na URL de conexão JDBC, defini-las e passá-las para o método DriverManager.getConnectionou 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ífica.

A URL de conexão JDBC deve estar no seguinte formato. As propriedades são insensíveis a maiúsculas e minúsculas.

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

Como alternativa, especifique as configurações usando a java.util.Properties classe 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 de 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 SQL e propriedades de log, consulte Propriedades de conexão com suporte.

Observação

Os elementos e propriedades de uma URL não fazem distinção entre letras maiúsculas e minúsculas.

Elemento ou propriedade de URL Descrição
<server-hostname> O valor do nome de anfitrião do servidor do recurso de computação do Azure Databricks.
<port> O valor da porta do recurso de computação do Azure Databricks. O valor predefinido é 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 de computação do Azure Databricks. O conector forma o endereço HTTP para conectar anexando o valor httpPath ao host e à porta especificados na URL de conexão. Por exemplo, para se conectar ao endereço http://localhost:10002/cliserviceHTTP, você usaria a seguinte URL de conexão: jdbc:databricks://localhost:10002;httpPath=cliservice

Para obter a URL de conexão JDBC para um cluster do Azure Databricks :

  1. Faça logon no seu espaço de trabalho do Azure Databricks.
  2. Na barra lateral, clique em Computação e, em seguida, clique no nome do cluster de destino.
  3. Na guia Configuração, expanda Opções avançadas.
  4. Clique na guia JDBC/ODBC.
  5. Copie o URL JDBC para usar como URL de conexão JDBC, ou construa o URL a partir dos valores nos campos nome de host do servidor , porta , e caminho HTTP .

Para obter a URL de conexão JDBC para um armazém Databricks SQL :

  1. Faça logon no seu espaço de trabalho do Azure Databricks.
  2. Na barra lateral, clique em SQL Warehouses e, em seguida, clique no nome do armazém de destino.
  3. Clique no separador Detalhes da conexão.
  4. Copie o URL JDBC para usar como URL de conexão JDBC, ou construa o URL a partir dos valores nos campos nome de host do servidor , porta , e caminho HTTP .

Configurar tags de consulta

Importante

Esta funcionalidade está em Pré-visualização Privada. Para solicitar acesso, entre em contato com a equipe da sua conta.

Você pode anexar tags de chave-valor às suas consultas SQL para fins de rastreamento e análise. As tags de consulta aparecem na tabela system.query.history para identificação e análise.

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

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

As tags de consulta usam um formato de par chave:valor separado por vírgula:

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

Configurar conexões proxy

Você pode configurar o conector para se conectar através de um servidor proxy em vez de se conectar diretamente ao Databricks. Ao conectar-se através de um servidor proxy, o conector suporta autenticação básica e SPNEGO.

Para configurar uma conexão proxy:

  1. Defina a UseProxy propriedade como 1.
  2. Para definir as configurações de proxy no nível do sistema, defina UseSystemProxy a propriedade como 1, caso contrário, defina-a para o driver da seguinte maneira:
    1. Defina a ProxyHost propriedade para o endereço IP ou nome de host do seu servidor proxy.
    2. Defina a ProxyPort propriedade para a porta que o servidor proxy usa para escutar conexões de cliente.
    3. Defina a ProxyIgnoreList propriedade 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 ProxyAuth propriedade como 1.
        2. Defina a ProxyUID propriedade como seu nome de usuário para acessar o servidor.
        3. Defina a ProxyPWD propriedade como sua senha para acessar o servidor.
      • Para usar a autenticação SPNEGO:
        1. Autentique a sua principal Kerberos ao nível do sistema.
        2. Defina a ProxyAuth propriedade 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 do SSL

Se você estiver se conectando ao Databricks com SSL (Secure Sockets Layer) habilitado, poderá configurar o conector para se conectar a um soquete habilitado 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 você não especificar um TrustStore, o conector usará o Java TrustStore padrão chamado jssecacerts. Se jssecacerts não estiver disponível, o conector usará cacerts.

Para configurar o SSL:

  1. Defina a propriedade SSL como 1.
  2. Se você não estiver usando um dos Java Trust Stores padrão, crie um Trust Store e configure o conector para usá-lo:
    1. Crie um Repositório de Confiança contendo seu certificado de servidor assinado e confiável.
    2. Configure a propriedade SSLTrustStore para o caminho completo do TrustStore.
    3. Defina a propriedade SSLTrustStorePwd como a senha para acessar a TrustStore.
    4. Se o TrustStore não for um JKS TrustStore, defina a propriedade SSLTrustStoreType como o tipo correto. Os tipos suportados são:
      • SSLTrustStoreType=BCFKS (Keystore FIPS BouncyCastle)
      • SSLTrustStoreType=PKCS12 (Padrões de criptografia de chave pública #12)

Em certos casos, onde você deseja alterar a estratégia de revogação de certificado, o conector fornece os seguintes parâmetros:

  • A propriedade CheckCertRevocation quando definida como 0 aceitará certificados que são revogados (o valor padrão da propriedade é 1)
    • A propriedade AcceptUndeterminedRevocation quando definida como 1 aceitará certificados onde não conseguirmos identificar o status de revogação dos certificados (CRLDP está inacessível/expira etc), o valor padrão dessa propriedade é 0

Autenticar o controlador

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