Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
In diesem Artikel erfahren Sie, wie Sie eine Verbindung mit Databricks mithilfe des Databricks DRIVER, Version 3 und höher, konfigurieren.
Konfigurieren der Verbindung
Um eine Verbindung mit Ihrem Azure Databricks-Arbeitsbereich mithilfe des JDBC-Treibers herzustellen, müssen Sie verschiedene Verbindungseinstellungen angeben, wie den Server-Hostname Ihres Azure Databricks-Arbeitsbereichs, die Recheneinstellungen und Authentifizierungsdaten.
Hinweis
Der JDBC-Treiber UNTERSTÜTZT keine Verbindung zu Jobs Compute.
Sie können den Wert dieser Eigenschaften in der JDBC-Verbindungs-URL festlegen und an die DriverManager.getConnection-Methode übergeben oder 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 eigenschaft ConnSchema 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:
- Melden Sie sich bei Ihrem Azure Databricks-Arbeitsbereich an.
- Klicken Sie in der Randleiste auf "Berechnen", und klicken Sie dann auf den Namen des Zielclusters.
- Erweitern Sie auf der Registerkarte Konfiguration die Option Erweiterte Optionen.
- Klicken Sie auf die Registerkarte JDBC/ODBC.
- 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:
- Melden Sie sich bei Ihrem Azure Databricks-Arbeitsbereich an.
- Klicken Sie in der Randleiste auf SQL Warehouses, und klicken Sie dann auf den Namen des Ziellagers.
- Klicken Sie auf die Registerkarte Verbindungsdetails.
- 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.
Sie können Schlüsselwerttags zu Tracking- und Analysezwecken an Ihre SQL-Abfragen anfügen. Abfragetags 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
Sie können den Connector so konfigurieren, dass er über einen Proxyserver verbunden wird, anstatt eine direkte Verbindung mit Databricks herzustellen. Beim Herstellen einer Verbindung über einen Proxyserver unterstützt der Connector die grundlegende und SPNEGO-Authentifizierung.
So konfigurieren Sie eine Proxyverbindung:
- Legen Sie die eigenschaft
UseProxyauf 1 fest. - Um Proxyeinstellungen auf Systemebene zu konfigurieren, legen Sie
UseSystemProxyEigenschaft auf 1 fest, andernfalls legen Sie sie für den Treiber wie folgt fest:- Legen Sie die eigenschaft
ProxyHostauf die IP-Adresse oder den Hostnamen Ihres Proxyservers fest. - Legen Sie die eigenschaft
ProxyPortauf den Port fest, den der Proxyserver zum Überwachen von Clientverbindungen verwendet. - Legen Sie die eigenschaft
ProxyIgnoreListauf einen durch Trennzeichen getrennten Hostnamen fest. - Authentifizieren mit dem Proxyserver:
- So verwenden Sie die Standardauthentifizierung
- Legen Sie die eigenschaft
ProxyAuthauf 1 fest. - Legen Sie die eigenschaft
ProxyUIDauf Ihren Benutzernamen für den Zugriff auf den Server fest. - Legen Sie die eigenschaft
ProxyPWDauf Ihr Kennwort für den Zugriff auf den Server fest.
- Legen Sie die eigenschaft
- So verwenden Sie die SPNEGO-Authentifizierung:
- Authentifizieren Sie Ihren Kerberos-Prinzipal auf Systemebene.
- Legen Sie die eigenschaft
ProxyAuthauf 2 fest.
- So verwenden Sie die Standardauthentifizierung
- Legen Sie die eigenschaft
Um einen anderen Proxy speziell für CloudFetch zu verwenden, führen Sie die oben aufgeführten Schritte mit den folgenden Eigenschaften aus: UseCFProxy, CFProxyHost, CFProxyPort, CFProxyAuth, CFProxyUID, CFProxyPwd
Konfigurieren von SSL
Wenn Sie eine Verbindung mit Databricks herstellen, für die Secure Sockets Layer (SSL) aktiviert ist, können Sie den Connector so konfigurieren, dass er eine Verbindung mit einem SSL-fähigen Socket herstellt. Beim Herstellen einer Verbindung mit einem Server über SSL verwendet der Connector 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, um die Identität des Servers zu überprüfen. Sie können den Connector für den Zugriff auf einen bestimmten TrustStore konfigurieren, der das entsprechende Zertifikat enthält. Wenn Sie keinen TrustStore angeben, verwendet der Connector den standardmäßigen Java TrustStore mit dem Namen jssecacerts. Wenn jssecacerts nicht verfügbar ist, verwendet der Connector stattdessen cacerts.
So konfigurieren Sie SSL:
- Legen Sie die SSL-Eigenschaft auf 1 fest.
- Wenn Sie keinen der standardmäßigen Java Trust Stores verwenden, erstellen Sie einen Trust Store, und konfigurieren Sie den Connector für die Verwendung:
- Erstellen Sie einen Vertrauensspeicher mit Ihrem signierten, vertrauenswürdigen Serverzertifikat.
- Legen Sie die SSLTrustStore-Eigenschaft auf den vollständigen Pfad des TrustStore fest.
- Legen Sie die SSLTrustStorePwd-Eigenschaft auf das Kennwort für den Zugriff auf den TrustStore fest.
- Wenn der TrustStore kein JKS TrustStore ist, legen Sie die SSLTrustStoreType-Eigenschaft auf den richtigen Typ fest. Die unterstützten Typen sind:
- SSLTrustStoreType=BCFKS (BouncyCastle FIPS Keystore)
- SSLTrustStoreType=PKCS12 (Public Key Cryptography Standards #12)
In bestimmten Fällen, in denen Sie die Zertifikatsperrstrategie ändern möchten, stellt der Connector die folgenden Parameter bereit:
- CheckCertRevocation-Eigenschaft, wenn auf 0 festgelegt ist, akzeptiert Zertifikate, die widerrufen werden (Standardwert der Eigenschaft ist 1)
- AcceptUndeterminedRevocation-Eigenschaft, wenn sie auf 1 festgelegt ist, akzeptiert Zertifikate, bei denen wir den Sperrstatus der Zertifikate nicht identifizieren können (CRLDP ist nicht erreichbar/timesout usw.), der Standardwert dieser Eigenschaft ist 0.
Fahrer authentifizieren
Sie können die JDBC-Treiberverbindung mithilfe eines der folgenden Authentifizierungsmechanismen herstellen:
- OAuth Benutzer-zu-Maschine (U2M) Authentifizierung (Empfohlen)
- M2M mit verwalteten Azure-Identitäten
- Persönliches Zugriffstoken für Azure Databricks
OAuth-Benutzer-zu-Computer-Authentifizierung (U2M)
Der JDBC-Treiber unterstützt die OAuth-User-to-Machine-Authentifizierung (U2M) für die Echtzeit-Anmeldung von Nutzern und die Einwilligung zur Authentifizierung des Databricks-Zielbenutzerkontos. Dies wird auch als browserbasierte OAuth-Authentifizierung bezeichnet.
Azure Databricks hat die OAuth-Client-ID databricks-sql-jdbc für Kunden erstellt. Dies ist auch die Standard-OAuth-Client-ID, die im JDBC-Treiber verwendet wird. Um die OAuth U2M-Authentifizierung zu konfigurieren, fügen Sie einfach die folgenden Eigenschaften zu Ihrer vorhandenen JDBC-Verbindungs-URL oder dem java.util.Properties-Objekt hinzu:
| Eigentum | value |
|---|---|
AuthMech |
11 |
Auth_Flow |
2 |
TokenCachePassPhrase |
Die Passphrase, die zum Verschlüsseln Ihrer zwischengespeicherten OAuth U2M-Anmeldeinformationen verwendet wird. Dadurch werden wiederholte browserbasierte Authentifizierungen verhindert. Um das Zwischenspeichern von Token zu deaktivieren, legen Sie diesen EnableTokenCache Wert auf 0. |
OAuth-Computer-zu-Computer-Authentifizierung (M2M)
Der JDBC-Treiber unterstützt die OAuth-Computer-zu-Computer-Authentifizierung (M2M), die auch als OAuth 2.0-Authentifizierung mit Clientanmeldeinformationen bezeichnet wird, unter Verwendung der folgenden Prinzipale oder Identitäten. Siehe Autorisieren des Dienstprinzipalzugriffs auf Azure Databricks mit OAuth.
- Databricks-Dienstprinzipal
- Ein verwalteter Azure-Dienstprinzipal
- Eine von Azure verwaltete Identität (vom System zugewiesen oder vom Benutzer zugewiesen)
M2M mithilfe von verwaltetem Databricks-Dienstprinzipal
So konfigurieren Sie die Authentifizierung mit einem von Databricks verwalteten Dienstprinzipal:
- Erstellen Sie einen verwalteten Databricks-Dienstprinzipal, und weisen Sie diesen Databricks-Konten und Arbeitsbereichen zu.
- Erstellen Sie einen OAuth-Schlüssel für Databricks für den Dienstprinzipal. Siehe OAuth M2M-Setuphandbuch.
- Gewähren sie Zugriffsberechtigungen für Cluster und SQL-Lagerhäuser.
- Fügen Sie die folgenden Eigenschaften zu Ihrer vorhandenen JDBC-Verbindungs-URL oder Ihrem
java.util.Properties-Objekt hinzu.
| Eigentum | value |
|---|---|
AuthMech |
11 |
Auth_Flow |
1 |
OAuth2ClientID |
Der Wert der Anwendungs(Client)-ID des Dienstprinzipals. |
OAuth2Secret |
Azure Databricks-OAuth-Geheimnis des Dienstprinzipals |
M2M mit azure managed service principal
So konfigurieren Sie die Authentifizierung mit einem Azure Managed Service Principal:
- Erstellen Sie einen OAuth-Schlüssel für Databricks für den Dienstprinzipal. Siehe OAuth M2M-Setuphandbuch.
- Gewähren sie Zugriffsberechtigungen für Cluster und SQL-Lagerhäuser.
- Fügen Sie die folgenden Eigenschaften zu Ihrer vorhandenen JDBC-Verbindungs-URL oder Ihrem
java.util.Properties-Objekt hinzu.
| Eigentum | value |
|---|---|
AuthMech |
11 |
Auth_Flow |
1 |
OAuth2ClientID |
Der Wert der Anwendungs(Client)-ID des Dienstprinzipals. |
AzureTenantID |
Die Azure-Mandanten-ID in Azure Active Directory. |
OAuth2Secret |
Azure Databricks-OAuth-Geheimnis des Dienstprinzipals |
M2M mit verwalteten Azure-Identitäten
So konfigurieren Sie die Authentifizierung mithilfe von azure verwalteten Identitäten:
- Konfigurieren Sie verwaltete Identitäten für Ihre Azure-Ressourcen.
- Gewähren sie Zugriffsberechtigungen für Cluster und SQL-Lagerhäuser.
- Fügen Sie die folgenden Eigenschaften zu Ihrer vorhandenen JDBC-Verbindungs-URL oder Ihrem
java.util.Properties-Objekt hinzu.
| Eigentum | value |
|---|---|
AuthMech |
11 |
Auth_Flow |
3 |
OAuth2ClientID |
Die Client-ID der verwalteten Identität. Dies ist nur erforderlich, wenn Sie eine vom Benutzer zugewiesene verwaltete Identität verwenden. |
Azure_workspace_resource_id |
Die Azure-Ressourcen-ID des Databricks-Arbeitsbereichs |
Persönliches Zugriffstoken für Azure Databricks
Fügen Sie zur Authentifizierung Ihrer JDBC-Treiberverbindung mithilfe eines persönlichen Zugriffstokens für Azure Databricks die folgenden Eigenschaften zu Ihrer JDBC-Verbindungs-URL oder zum java.util.Properties-Objekt hinzu:
| Eigentum | value |
|---|---|
AuthMech |
3 |
user |
Der Wert tokenals Zeichenfolge. |
PWD oder password |
Der Wert Ihres persönlichen Azure Databricks-Zugriffstokens als Zeichenfolge. |