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

Op deze pagina ziet 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 verbindingsinstellingen opgeven, waaronder de hostnaam van de server van uw werkruimte, de instellingen voor rekenresources en verificatiereferenties.

Opmerking

Het JDBC-stuurprogramma biedt geen ondersteuning voor het verbinden met Jobs Compute.

Stel deze eigenschappen in op de JDBC-verbindings-URL, geef deze door aan de methode DriverManager.getConnection of gebruik 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 ConnSchema eigenschap 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.

Koppel sleutelwaardetags aan SQL-query's voor tracerings- en analysedoeleinden. Tags 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

Configureer de connector om verbinding te maken via een proxyserver in plaats van rechtstreeks verbinding te maken met Databricks. De connector ondersteunt basis- en SPNEGO-verificatie bij het maken van verbinding via een proxyserver. Zie Ondersteunde verbindingseigenschappen.

Als u proxy-instellingen op systeemniveau wilt gebruiken, stelt u deze in UseProxy=1 en UseSystemProxy=1.

Proxy-instellingen handmatig configureren:

  1. Stel UseProxy=1in.
  2. Instellen ProxyHost, ProxyPort, en ProxyIgnoreList.
  3. Als u wilt verifiëren met de proxyserver, kiest u één methode:
    • Basis: instellen ProxyAuth=1, ProxyUID, en ProxyPWD.
    • SPNEGO (Kerberos-omgevingen): Verifieer uw Kerberos-principal op systeemniveau en stel ProxyAuth=2vervolgens in.

Een proxy configureren voor Cloud Fetch

Cloud Fetch vereist een afzonderlijke proxyconfiguratie van de hoofdstuurprogrammaverbinding. Gebruik de UseCFProxyeigenschappen , CFProxyHost, CFProxyPort, , CFProxyAuthen CFProxyUIDCFProxyPwdverbindingseigenschappen om Cloud Fetch-verkeer via een proxy te routeren. Zie Ondersteunde verbindingseigenschappen.

Als uw netwerk privé is, staat u *.blob.core.windows.net en *.store.core.windows.net toe en voegt u de vereiste certificaatdownloads en intrekkingen toe aan uw toegestane lijst.

Troubleshooting

Als u proxyproblemen niet kunt oplossen, stelt u EnableQueryResultDownload=0 in om het ophalen van de cloud uit te schakelen en terug te vallen op direct downloaden.

Als u prestatieproblemen wilt diagnosticeren, stelt u in LogLevel=4 om logboekregistratie op INFO-niveau in te schakelen. De stuurprogramma's logboeken registreren de downloadsnelheid per segment, dus grote resultatensets genereren meerdere logboekregels.

CloudFetch download speed: 21.24 MB/s
CloudFetch download speed: 20.60 MB/s

Het stuurprogramma registreert een waarschuwing wanneer de downloadsnelheid lager is dan ongeveer 1 MB/s. Het logboekonderdeel is com.databricks.client.spark.jdbc.ResultFileDownloadHandler. Als downloads traag zijn of vastgelopen, kunt u CloudFetchThreadPoolSize verhogen om meer bestandssegmenten parallel te downloaden.

SSL configureren

Als u verbinding maakt met een Databricks-werkruimte waarvoor SSL is ingeschakeld, configureert u de connector om verbinding te maken met een socket met SSL. De connector maakt gebruik van verificatie in één richting om de identiteit van de server te verifiëren.

Verificatie in één richting vereist een ondertekend, vertrouwd SSL-certificaat. Configureer de connector voor toegang tot een specifieke TrustStore. Als u geen TrustStore opgeeft, gebruikt de connector de standaard-Java TrustStore (jssecacerts) of cacerts als jssecacerts niet beschikbaar is.

SSL configureren:

  1. Stel SSL=1in.
  2. Als u geen standaard-Java TrustStore gebruikt, configureert u een aangepaste:
    • Maak een TrustStore met uw ondertekende, vertrouwde servercertificaat.
    • Stel SSLTrustStore in op het volledige pad van de TrustStore.
    • Stel SSLTrustStorePwd in op het TrustStore-wachtwoord.
    • Als de TrustStore geen JKS TrustStore is, selecteer dan SSLTrustStoreType als BCFKS (BouncyCastle FIPS Keystore) of PKCS12.

Als u de strategie voor certificaatintrekking wilt wijzigen, stelt u de volgende eigenschappen in:

  • CheckCertRevocation: Stel in op 0 om ingetrokken certificaten te accepteren. De standaardwaarde is 1.
  • AcceptUndeterminedRevocation: Ingesteld op 1 het accepteren van certificaten met een niet-vastgestelde intrekkingsstatus (bijvoorbeeld wanneer CRLDP onbereikbaar is of een time-out optreedt). De standaardwaarde is 0.

Authenticeer de bestuurder

Zie Verificatie-instellingen voor het Databricks JDBC-stuurprogramma voor informatie over het configureren van verificatie voor het JDBC-stuurprogramma.