Delen via


Een verbinding met Databricks configureren met behulp van het Databricks JDBC-stuurprogramma

In dit artikel leest u hoe u een verbinding met Databricks configureert met behulp van het Databricks JDBC-stuurprogramma, versie 3 en hoger.

De verbinding configureren

Als u verbinding wilt maken met uw Azure Databricks-werkruimte met behulp van het JDBC-stuurprogramma, moet u verschillende verbindingsinstellingen opgeven, zoals de hostnaam van de server van uw Azure Databricks-werkruimte, de instellingen voor de rekenresource en verificatiereferenties om verbinding te maken met de werkruimte.

Opmerking

Het JDBC-stuurprogramma biedt geen ondersteuning voor verbinding maken met jobs compute.

U kunt de waarde van deze eigenschappen instellen op de JDBC-verbindings-URL, deze instellen en doorgeven aan de methode DriverManager.getConnectionof een combinatie van beide. Raadpleeg de documentatie van de provider voor hoe u het beste verbinding kunt maken met uw specifieke app, client, SDK, API of SQL-hulpprogramma.

De URL van de JDBC-verbinding moet de volgende indeling hebben. Eigenschappen zijn niet hoofdlettergevoelig.

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

U kunt ook de instellingen opgeven met behulp van de java.util.Properties-klasse of een combinatie:

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");

Verbindings-URL-elementen worden beschreven in de volgende tabel.

Zie Ondersteunde verbindingseigenschappenvoor meer informatie over aanvullende eigenschappen, waaronder verificatie-eigenschappen, SQL-configuratie-eigenschappen en logboekregistratie-eigenschappen.

Opmerking

URL-elementen en -eigenschappen zijn niet hoofdlettergevoelig.

URL-element of -eigenschap Beschrijving
<server-hostname> De hostnaamwaarde van de Azure Databricks-rekenresource.
<port> De poortwaarde van de Azure Databricks-rekenresource. De standaardwaarde is 443.
<schema> De naam van het schema. U kunt ook de eigenschap ConnSchema instellen. Zie Ondersteunde verbindingseigenschappen.
httpPath De HTTP-padwaarde van de Azure Databricks-rekenresource. De connector vormt het HTTP-adres waarmee verbinding moet worden gemaakt door de httpPath waarde toe te voegen aan de host en poort die is opgegeven in de verbindings-URL. Als u bijvoorbeeld verbinding wilt maken met het HTTP-adres http://localhost:10002/cliservice, gebruikt u de volgende verbindings-URL: jdbc:databricks://localhost:10002;httpPath=cliservice

Ophalen van de JDBC-verbindings-URL voor een Azure Databricks--cluster:

  1. Meld u aan bij uw Azure Databricks-werkruimte.
  2. Klik in de zijbalk op Compute en klik vervolgens op de naam van het doelcluster.
  3. Vouw op het tabblad Configuratie geavanceerde opties uit.
  4. Klik op het tabblad JDBC/ODBC .
  5. Kopieer de JDBC-URL om te gebruiken als de JDBC-verbindings-URL of maak de URL op basis van waarden in de hostnaam van de server, poorten http-pad velden.

Om de JDBC-verbindings-URL voor een Databricks SQL warehousete verkrijgen:

  1. Meld u aan bij uw Azure Databricks-werkruimte.
  2. Klik in de zijbalk op SQL Warehouses en klik vervolgens op de naam van het doelwarehouse.
  3. Klik op het tabblad Verbindingsgegevens.
  4. Kopieer de JDBC-URL om te gebruiken als de JDBC-verbindings-URL of maak de URL op basis van waarden in de hostnaam van de server, poorten http-pad velden.

Querytags configureren

Belangrijk

Deze functie bevindt zich in Private Preview. Neem contact op met uw accountteam om toegang aan te vragen.

U kunt sleutel-waardetags koppelen aan uw SQL-query's voor tracerings- en analysedoeleinden. Querytags worden weergegeven in de system.query.history tabel voor queryidentificatie en -analyse.

Als u querytags aan uw verbinding wilt toevoegen, neemt u de query_tags eigenschap op in uw JDBC-URL:

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

Querytags maken gebruik van een door komma's gescheiden sleutel:waardepaarindeling:

  • query_tags=key:value (enkele tag)
  • query_tags=key1:value1,key2:value2,key3:value3 (meerdere tags)

Proxyverbindingen configureren

U kunt de connector configureren om verbinding te maken via een proxyserver in plaats van rechtstreeks verbinding te maken met Databricks. Wanneer u verbinding maakt via een proxyserver, ondersteunt de connector basis- en SPNEGO-verificatie.

Een proxyverbinding configureren:

  1. Stel de eigenschap UseProxy in op 1.
  2. Als u proxy-instellingen op systeemniveau wilt configureren, stelt u UseSystemProxy eigenschap in op 1, anders stelt u deze in voor het stuurprogramma op de volgende manier:
    1. Stel de eigenschap ProxyHost in op het IP-adres of de hostnaam van uw proxyserver.
    2. Stel de eigenschap ProxyPort in op de poort die de proxyserver gebruikt om te luisteren naar clientverbindingen.
    3. Stel de eigenschap ProxyIgnoreList in op een door komma's gescheiden hostnaam.
    4. Verifiëren met de proxyserver:
      • De basisverificatie gebruiken
        1. Stel de eigenschap ProxyAuth in op 1.
        2. Stel de eigenschap ProxyUID in op uw gebruikersnaam voor toegang tot de server.
        3. Stel de eigenschap ProxyPWD in op uw wachtwoord voor toegang tot de server.
      • SPNEGO-verificatie gebruiken:
        1. Authenticeer uw Kerberos-principal op systeemniveau.
        2. Stel de eigenschap ProxyAuth in op 2.

Als u een andere proxy specifiek voor CloudFetch wilt gebruiken, volgt u de bovenstaande stappen met de volgende eigenschappen: UseCFProxy, CFProxyHost, CFProxyPort, CFProxyAuth, CFProxyUID, CFProxyPwd

SSL configureren

Als u verbinding maakt met Databricks waarvoor SSL (Secure Sockets Layer) is ingeschakeld, kunt u de connector configureren om verbinding te maken met een socket met SSL. Bij het maken van verbinding met een server via SSL gebruikt de connector verificatie in één richting om de identiteit van de server te verifiëren.

Verificatie in één richting vereist een ondertekend, vertrouwd SSL-certificaat voor het verifiëren van de identiteit van de server. U kunt de connector configureren voor toegang tot een specifieke TrustStore die het juiste certificaat bevat. Als u geen TrustStore opgeeft, gebruikt de connector de standaard Java TrustStore met de naam jssecacerts. Als jssecacerts niet beschikbaar is, gebruikt de connector in plaats daarvan cacerts.

SSL configureren:

  1. Stel de SSL-eigenschap in op 1.
  2. Als u geen van de standaard Java-vertrouwensarchieven gebruikt, maakt u een vertrouwensarchief en configureert u de connector deze te gebruiken.
    1. Maak een vertrouwensopslag met uw ondertekende, vertrouwde serversertificaat.
    2. Stel de eigenschap SSLTrustStore in op het volledige pad van de TrustStore.
    3. Stel de eigenschap SSLTrustStorePwd in op het wachtwoord voor toegang tot de TrustStore.
    4. Als de TrustStore geen JKS TrustStore is, stelt u de eigenschap SSLTrustStoreType in op het juiste type. De ondersteunde typen zijn:
      • SSLTrustStoreType=BCFKS (BouncyCastle FIPS Keystore)
      • SSLTrustStoreType=PKCS12 (Public Key Cryptography Standards #12)

In bepaalde gevallen, waarbij u de certificaatintrekkingsstrategie wilt wijzigen, biedt de connector de volgende parameters:

  • De eigenschap CheckCertRevocation wanneer deze is ingesteld op 0 accepteert certificaten die zijn ingetrokken (de standaardwaarde van de eigenschap is 1)
    • De eigenschap AcceptUndeterminedRevocation wanneer deze is ingesteld op 1, accepteert certificaten waarbij de intrekkingsstatus van de certificaten niet kan worden geïdentificeerd (CRLDP is onbereikbaar/time-out, enzovoort), de standaardwaarde van deze eigenschap is 0

Authenticeer de bestuurder

U kunt de verbinding met het JDBC-stuurprogramma verifiëren met behulp van een van de volgende verificatiemechanismen:

OAuth-verificatie van gebruikers-naar-machine (U2M)

Het JDBC-stuurprogramma ondersteunt OAuth-gebruikers-naar-machine-verificatie (U2M) voor realtime menselijke aanmelding en toestemming om het databricks-doelgebruikersaccount te verifiëren. Dit wordt ook wel browsergebaseerde OAuth-verificatie genoemd.

Azure Databricks heeft de OAuth-client-id gemaakt databricks-sql-jdbc voor klanten. Dit is ook de standaard-OAuth-client-id die wordt gebruikt in het JDBC-stuurprogramma. Als u OAuth U2M-verificatie wilt configureren, voegt u de volgende eigenschappen toe aan uw bestaande JDBC-verbindings-URL of java.util.Properties-object:

Vastgoed Waarde
AuthMech 11
Auth_Flow 2
TokenCachePassPhrase De wachtwoordzin die wordt gebruikt voor het versleutelen van uw OAuth U2M-referenties in de cache. Dit voorkomt herhaalde verificaties op basis van een browser. Stel EnableTokenCache in op 0 om het opslaan van tokens in cache uit te schakelen.

machine-naar-machine (M2M) OAuth-verificatie

Het JDBC-stuurprogramma ondersteunt verificatie van OAuth-machine-naar-machine (M2M), ook wel OAuth 2.0-clientreferentieverificatie genoemd, met behulp van een van de volgende principals of identiteiten. Zie Toegang tot de service-principal autoriseren voor Azure Databricks met OAuth.

M2M met een door Databricks beheerde service-principal

Verificatie configureren met behulp van een door Databricks beheerde service-principal:

  1. Maak een door Databricks beheerde service-principal en wijs deze toe aan Databricks-accounts en -werkruimten.
  2. Maak een Databricks OAuth-geheim voor de service-principal. Zie de installatiehandleiding voor OAuth M2M.
  3. Toegangsmachtigingen verlenen aan clusters en SQL-warehouses.
  4. Voeg de volgende eigenschappen toe aan uw bestaande JDBC-verbindings-URL of java.util.Properties-object:
Vastgoed Waarde
AuthMech 11
Auth_Flow 1
OAuth2ClientID De waarde van de toepassings-id (client) van de service-principal.
OAuth2Secret Het Azure Databricks OAuth-geheim van de service-principal.

M2M met een door Azure beheerde service-principal

Verificatie configureren met behulp van een door Azure beheerde service-principal:

  1. Maak een Databricks OAuth-geheim voor de service-principal. Zie de installatiehandleiding voor OAuth M2M.
  2. Toegangsmachtigingen verlenen aan clusters en SQL-warehouses.
  3. Voeg de volgende eigenschappen toe aan uw bestaande JDBC-verbindings-URL of java.util.Properties-object:
Vastgoed Waarde
AuthMech 11
Auth_Flow 1
OAuth2ClientID De waarde van de toepassings-id (client) van de service-principal.
AzureTenantID De Azure-tenant-id die is gevonden in Azure Active Directory.
OAuth2Secret Het Azure Databricks OAuth-geheim van de service-principal.

M2M met behulp van door Azure beheerde identiteiten

Verificatie configureren met behulp van door Azure beheerde identiteiten:

  1. Beheerde identiteiten configureren voor uw Azure-resources.
  2. Toegangsmachtigingen verlenen aan clusters en SQL-warehouses.
  3. Voeg de volgende eigenschappen toe aan uw bestaande JDBC-verbindings-URL of java.util.Properties-object:
Vastgoed Waarde
AuthMech 11
Auth_Flow 3
OAuth2ClientID De client-id van de beheerde identiteit. Dit is alleen een vereiste parameter als u een door de gebruiker toegewezen beheerde identiteit gebruikt.
Azure_workspace_resource_id De Azure-resource-id van uw Databricks-werkruimte

Persoonlijk toegangstoken van Azure Databricks

Als u uw JDBC-stuurprogrammaverbinding wilt verifiëren met behulp van een Azure Databricks-persoonlijk toegangstoken, voegt u de volgende eigenschappen toe aan uw JDBC-verbindings-URL of java.util.Properties-object:

Vastgoed Waarde
AuthMech 3
user De waarde token, als een tekenreeks.
PWD of password Uw persoonlijke toegangstokenwaarde van Azure Databricks als een tekenreeks.