Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa pagina illustra come configurare una connessione a Databricks usando il driver JDBC di Databricks, versione 3 e successive.
Configurare la connessione
Per connettersi all'area di lavoro Azure Databricks usando il driver JDBC, è necessario specificare le impostazioni di connessione, tra cui il nome host del server dell'area di lavoro, le impostazioni delle risorse di calcolo e le credenziali di autenticazione.
Annotazioni
Il driver JDBC non supporta la connessione all'elaborazione dei job.
Impostare queste proprietà nell'URL di connessione JDBC, passarle al metodo DriverManager.getConnection o usare una combinazione di entrambe. Vedere la documentazione del provider per informazioni su come connettersi usando l'app, il client, l'SDK, l'API o lo strumento SQL specifico.
L'URL di connessione JDBC deve essere nel formato seguente. Le proprietà non fanno distinzione tra maiuscole e minuscole.
jdbc:databricks://<server-hostname>:<port>/<schema>;[property1]=[value];[property2]=[value];...
In alternativa, specificare le impostazioni usando la classe java.util.Properties o una combinazione:
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");
Gli elementi DELL'URL di connessione sono descritti nella tabella seguente.
Per informazioni sulle proprietà aggiuntive, incluse le proprietà di autenticazione, le proprietà di configurazione SQL e le proprietà di registrazione, vedere Proprietà di connessione supportate.
Annotazioni
Gli elementi e le proprietà url non fanno distinzione tra maiuscole e minuscole.
| Elemento o proprietà URL | Descrizione |
|---|---|
<server-hostname> |
Il valore dell'hostname del server della risorsa di calcolo di Azure Databricks. |
<port> |
Valore della porta della risorsa di calcolo di Azure Databricks. Il valore predefinito è 443. |
<schema> |
Nome dello schema. In alternativa, impostare la proprietà ConnSchema. Vedere Proprietà di connessione supportate. |
httpPath |
Valore del percorso HTTP della risorsa di calcolo di Azure Databricks. Il connettore costituisce l'indirizzo HTTP a cui connettersi aggiungendo il valore httpPath all'host e alla porta specificata nell'URL di connessione. Ad esempio, per connettersi all'indirizzo HTTP http://localhost:10002/cliservice, usare l'URL di connessione seguente: jdbc:databricks://localhost:10002;httpPath=cliservice |
Per ottenere l'URL di connessione JDBC per un cluster di Azure Databricks:
- Accedere all'area di lavoro di Azure Databricks.
- Nella barra laterale fare clic su Calcolo, quindi sul nome del cluster di destinazione.
- Nella scheda Configurazione espandere Opzioni avanzate.
- Fare clic sulla scheda JDBC/ODBC.
- Copiare il url JDBC da usare come URL di connessione JDBC oppure costruire l'URL dai valori nei campi Nome host del server, Portae percorso HTTP.
Per ottenere l'URL di connessione JDBC per un databricks SQL warehouse:
- Accedere all'area di lavoro di Azure Databricks.
- Nella barra laterale fare clic su SQL Warehouse, quindi sul nome del warehouse di destinazione.
- Clicca sulla scheda dettagli della connessione.
- Copiare il url JDBC da usare come URL di connessione JDBC oppure costruire l'URL dai valori nei campi Nome host del server, Portae percorso HTTP.
Configurare i tag di query
Importante
Questa funzionalità si trova in anteprima privata. Per richiedere l'accesso, contattare la squadra del vostro account.
Allegare tag chiave-valore alle query SQL per scopi di rilevamento e analisi. I tag vengono visualizzati nella tabella per l'identificazione e l'analisi delle system.query.history query.
Per aggiungere tag di query alla connessione, includere la proprietà query_tags nell'URL JDBC:
jdbc:databricks://<server-hostname>:<port>/<schema>;query_tags=key1:value1,key2:value2
I tag di query usano un formato di coppia chiave:valore delimitato da virgole:
-
query_tags=key:value(singolo tag) -
query_tags=key1:value1,key2:value2,key3:value3(più tag)
Configurare le connessioni proxy
Configurare il connettore per connettersi tramite un server proxy anziché connettersi direttamente a Databricks. Il connettore supporta l'autenticazione di base e SPNEGO durante la connessione tramite un server proxy. Vedere Proprietà di connessione supportate.
Per usare le impostazioni proxy a livello di sistema, impostare UseProxy=1 e UseSystemProxy=1.
Per configurare manualmente le impostazioni proxy:
- Imposta
UseProxy=1. - Impostare
ProxyHost,ProxyPorteProxyIgnoreList. - Per eseguire l'autenticazione con il server proxy, scegliere un metodo:
-
Basic: Impostare
ProxyAuth=1,ProxyUID, eProxyPWD. -
SPNEGO (ambienti Kerberos): autentica il princìpale di Kerberos a livello di sistema, quindi imposta
ProxyAuth=2.
-
Basic: Impostare
Configurare un proxy per Cloud Fetch
Cloud Fetch richiede una configurazione proxy separata dalla connessione del driver principale. Usa le proprietà di connessione UseCFProxy, CFProxyHost, CFProxyPort, CFProxyAuth, CFProxyUID e CFProxyPwd per instradare il traffico di Cloud Fetch tramite un proxy. Vedere Proprietà di connessione supportate.
Se la rete è privata, consentire *.blob.core.windows.net e *.store.core.windows.net e aggiungere i download e le revoche di certificati necessari alla lista degli elementi consentiti.
Risoluzione dei problemi
Se non riesci a risolvere i problemi del proxy, imposta EnableQueryResultDownload=0 per disabilitare Cloud Fetch e ricorri al download diretto.
Per diagnosticare i problemi di prestazioni, impostare LogLevel=4 per abilitare la registrazione a livello INFO. Il driver registra la velocità di download per blocco, quindi set di risultati di grandi dimensioni generano più righe di log:
CloudFetch download speed: 21.24 MB/s
CloudFetch download speed: 20.60 MB/s
Il driver registra un avviso quando la velocità di download scende al di sotto di circa 1 MB/s. Il componente di log è com.databricks.client.spark.jdbc.ResultFileDownloadHandler. Se i download sono lenti o bloccati, aumentare CloudFetchThreadPoolSize per scaricare più blocchi di file in parallelo.
Configurazione di SSL
Se ci si connette a un'area di lavoro di Databricks con SSL abilitato, configurare il connettore per connettersi a un socket abilitato per SSL. Il connettore usa l'autenticazione unidirezionale per verificare l'identità del server.
L'autenticazione unidirezionale richiede un certificato SSL firmato e attendibile. Configurare il connettore per accedere a un truststore specifico. Se non si specifica un TrustStore, il connettore usa il valore predefinito Java TrustStore (jssecacerts) o cacerts se jssecacerts non è disponibile.
Per configurare SSL:
- Imposta
SSL=1. - Se non si usa un Java TrustStore predefinito, configurarne uno personalizzato:
- Creare un truststore contenente il certificato del server firmato e attendibile.
- Impostare
SSLTrustStoresul percorso completo del TrustStore. - Impostare
SSLTrustStorePwdalla password del TrustStore. - Se il TrustStore non è un TrustStore JKS, impostare
SSLTrustStoreTypesuBCFKS(archivio chiavi FIPS BouncyCastle) o suPKCS12.
Per modificare la strategia di revoca dei certificati, impostare le proprietà seguenti:
-
CheckCertRevocation: Imposta0per accettare i certificati revocati. Il valore predefinito è1. -
AcceptUndeterminedRevocation: Impostare su1per accettare certificati con stato di revoca non determinato, ad esempio quando CRLDP non è raggiungibile o va in timeout. Il valore predefinito è0.
Autentica il driver
Per informazioni sulla configurazione dell'autenticazione per il driver JDBC, vedere Impostazioni di autenticazione per il driver JDBC di Databricks.