Konfigurieren Sie eine Verbindung zu Databricks mithilfe des Databricks JDBC-Treibers

Auf dieser Seite erfahren Sie, wie Sie eine Verbindung zu Databricks mithilfe des Databricks JDBC-Treibers, Version 3 und höher, konfigurieren.

Konfigurieren der Verbindung

Zum Herstellen einer Verbindung mit Ihrem Azure Databricks-Arbeitsbereich mithilfe des JDBC-Treibers müssen Sie Verbindungseinstellungen angeben, einschließlich des Serverhostnamens Ihres Arbeitsbereichs, der Einstellungen für Computerressourcen und der Authentifizierungsanmeldeinformationen.

Hinweis

Der JDBC-Treiber unterstützt keine Verbindungen zu 'jobs compute'.

Legen Sie diese Eigenschaften bei der Verbindungs-URL fest, übergeben Sie sie an die DriverManager.getConnection-Methode oder verwenden Sie eine Kombination aus beidem. In der Dokumentation des Anbieters erfahren Sie, wie Sie eine Verbindung mit Ihrer spezifischen App, Ihrem Client, dem SDK, der API oder dem SQL-Tool herstellen können.

Die JDBC-Verbindungs-URL muss im folgenden Format vorliegen. Bei Eigenschaften wird die Groß-/Kleinschreibung nicht berücksichtigt.

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

Alternativ können Sie die Einstellungen mithilfe der java.util.Properties Klasse oder einer Kombination angeben:

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

Verbindungs-URL-Elemente werden in der folgenden Tabelle beschrieben.

Informationen zu zusätzlichen Eigenschaften, einschließlich Authentifizierungseigenschaften, SQL-Konfigurationseigenschaften und Protokollierungseigenschaften, finden Sie unter Unterstützten Verbindungseigenschaften.

Hinweis

Bei URL-Elementen und -Eigenschaften wird die Groß-/Kleinschreibung nicht beachtet.

URL-Element oder -Eigenschaft BESCHREIBUNG
<server-hostname> Der Wert des Hostnamens des Servers der Azure Databricks-Computeressource.
<port> Der Wert des Ports der Azure Databricks-Computeressource. Der Standardwert ist 443.
<schema> Der Name des Schemas. Alternativ können Sie die ConnSchema Eigenschaft festlegen. Weitere Informationen finden Sie unter Unterstützte Verbindungseigenschaften.
httpPath Der Wert des HTTP-Pfads der Azure Databricks-Computeressource. Der Connector bildet die HTTP-Adresse, mit der eine Verbindung hergestellt werden soll, indem der Wert httpPath an den Host und den in der Verbindungs-URL angegebenen Port angefügt wird. Um beispielsweise eine Verbindung mit der HTTP-Adresse http://localhost:10002/cliserviceherzustellen, verwenden Sie die folgende Verbindungs-URL: jdbc:databricks://localhost:10002;httpPath=cliservice

So rufen Sie die JDBC-Verbindungs-URL für einen Azure Databricks-Cluster ab:

  1. Melden Sie sich bei Ihrem Azure Databricks-Arbeitsbereich an.
  2. Klicken Sie in der Randleiste auf "Berechnen", und klicken Sie dann auf den Namen des Zielclusters.
  3. Erweitern Sie auf der Registerkarte Konfiguration die Option Erweiterte Optionen.
  4. Klicken Sie auf die Registerkarte JDBC/ODBC.
  5. Kopieren Sie die JDBC-URL, um sie als JDBC-Verbindungs-URL zu verwenden, oder erstellen Sie die URL aus Werten im Server-Hostname, Portund HTTP-Pfad Felder.

So rufen Sie die JDBC-Verbindungs-URL für ein Databricks SQL Warehouseab:

  1. Melden Sie sich bei Ihrem Azure Databricks-Arbeitsbereich an.
  2. Klicken Sie in der Randleiste auf SQL Warehouses, und klicken Sie dann auf den Namen des Ziellagers.
  3. Klicken Sie auf die Registerkarte Verbindungsdetails.
  4. Kopieren Sie die JDBC-URL, um sie als JDBC-Verbindungs-URL zu verwenden, oder erstellen Sie die URL aus Werten im Server-Hostname, Portund HTTP-Pfad Felder.

Konfigurieren von Abfragetags

Von Bedeutung

Dieses Feature befindet sich in Privater Vorschau. Wenden Sie sich an Ihr Kontoteam, um den Zugriff anzufordern.

Fügen Sie Schlüsselwert-Tags an SQL-Abfragen an, um sie für Nachverfolgungs- und Analysezwecke zu nutzen. Tags werden in der system.query.history Tabelle für die Abfrageidentifikation und -analyse angezeigt.

Wenn Sie Ihrer Verbindung Abfragetags hinzufügen möchten, fügen Sie die query_tags Eigenschaft in die JDBC-URL ein.

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

Abfragetags verwenden ein durch Trennzeichen getrenntes Schlüssel:Wert-Paarformat:

  • query_tags=key:value (einzelnes Tag)
  • query_tags=key1:value1,key2:value2,key3:value3 (mehrere Tags)

Konfigurieren von Proxyverbindungen

Konfigurieren Sie den Connector so, dass er über einen Proxyserver verbunden wird, anstatt eine direkte Verbindung mit Databricks herzustellen. Der Connector unterstützt die grundlegende und SPNEGO-Authentifizierung beim Herstellen einer Verbindung über einen Proxyserver. Weitere Informationen finden Sie unter Unterstützte Verbindungseigenschaften.

Um Proxyeinstellungen auf Systemebene zu verwenden, legen Sie fest UseProxy=1 und UseSystemProxy=1.

So konfigurieren Sie Proxyeinstellungen manuell:

  1. Legen Sie UseProxy=1 fest.
  2. Set ProxyHost, ProxyPort und ProxyIgnoreList.
  3. Um sich mit dem Proxyserver zu authentifizieren, wählen Sie eine Methode aus:
    • Basic: Set ProxyAuth=1, ProxyUID, und ProxyPWD.
    • SPNEGO (Kerberos-Umgebungen): Authentifizieren Sie Ihren Kerberos-Prinzipal auf Systemebene, und legen Sie dann fest ProxyAuth=2.

Konfigurieren eines Proxys für Cloud Fetch

Cloud Fetch erfordert eine separate Proxykonfiguration von der Haupttreiberverbindung. Verwenden Sie die Verbindungs-Eigenschaften UseCFProxy, CFProxyHost, CFProxyPort, CFProxyAuth, CFProxyUID und CFProxyPwd, um den Cloud-Fetch-Datenverkehr über einen Proxy weiterzuleiten. Weitere Informationen finden Sie unter Unterstützte Verbindungseigenschaften.

Wenn Ihr Netzwerk privat ist, erlauben Sie und und fügen Sie die erforderlichen Zertifikatdownloads und Widerrufe zu Ihrer Zulassungsliste hinzu.

Problembehandlung

Wenn Sie Proxyprobleme nicht beheben können, setzen Sie EnableQueryResultDownload=0 um "Cloud Fetch" zu deaktivieren und kehren Sie zum direkten Download zurück.

Um Leistungsprobleme zu diagnostizieren, legen Sie diese Einstellung LogLevel=4 fest, um die Protokollierung auf INFO-Ebene zu aktivieren. Der Treiber protokolliert die Downloadgeschwindigkeit pro Datenabschnitt, sodass große Ergebnismengen mehrere Protokollzeilen generieren:

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

Der Treiber protokolliert eine Warnung, wenn die Downloadgeschwindigkeit unter ca. 1 MB/s fällt. Die Protokollkomponente lautet com.databricks.client.spark.jdbc.ResultFileDownloadHandler. Wenn Downloads langsam oder verzögert sind, erhöhen Sie CloudFetchThreadPoolSize, um mehr Dateiblöcke parallel herunterzuladen.

Konfigurieren von SSL

Wenn Sie eine Verbindung mit einem Databricks-Arbeitsbereich mit AKTIVIERTem SSL herstellen, konfigurieren Sie den Connector, um eine Verbindung mit einem SSL-fähigen Socket herzustellen. Der Connector verwendet eine unidirektionale Authentifizierung, um die Identität des Servers zu überprüfen.

Für die unidirektionale Authentifizierung ist ein signiertes, vertrauenswürdiges SSL-Zertifikat erforderlich. Konfigurieren Sie den Connector für den Zugriff auf einen bestimmten TrustStore. Wenn Sie keinen TrustStore angeben, verwendet der Connector den Standard-Java TrustStore (jssecacerts) oder cacerts, wenn jssecacerts nicht verfügbar ist.

So konfigurieren Sie SSL:

  1. Legen Sie SSL=1 fest.
  2. Wenn Sie keinen Standard-Java TrustStore verwenden, konfigurieren Sie einen benutzerdefinierten:
    • Erstellen Sie einen TrustStore mit Ihrem signierten, vertrauenswürdigen Serverzertifikat.
    • Legen Sie SSLTrustStore auf den vollständigen Pfad der Truststore fest.
    • Setzen Sie SSLTrustStorePwd als TrustStore-Kennwort.
    • Wenn der TrustStore kein JKS TrustStore ist, setzen Sie SSLTrustStoreType entweder auf BCFKS (BouncyCastle FIPS Keystore) oder auf PKCS12.

Um die Zertifikatsperrstrategie zu ändern, legen Sie die folgenden Eigenschaften fest:

  • CheckCertRevocation: Auf 0 einstellen, um widerrufene Zertifikate zu akzeptieren. Der Standardwert lautet 1.
  • AcceptUndeterminedRevocation: Stellen Sie 1 so ein, dass Zertifikate mit unbestimmtem Widerrufsstatus akzeptiert werden (z. B. wenn CRLDP nicht erreichbar ist oder Zeitüberschreitungen auftreten). Der Standardwert lautet 0.

Fahrer authentifizieren

Informationen zum Konfigurieren der Authentifizierung für den JDBC-Treiber finden Sie unter Authentifizierungseinstellungen für den Databricks JDBC Driver.