Conector sursă pentru Databricks¶
Acest ghid descrie cum să configurați digna pentru a se conecta la Databricks prin ODBC, folosind un șir de conexiune fără DSN (DSN-less).
Partea digna a configurării este aceeași pentru orice tehnologie — unde se creează conexiunile, cum sunt criptate valorile proprietăților, cum se testează o conexiune și ce înseamnă modurile de profilare. Aceasta este descrisă în Prezentarea conexiunilor la baze de date. Această pagină acoperă ceea ce este specific Databricks.
Unity Catalog este obligatoriu
digna citește cataloagele disponibile din system.information_schema.catalogs, deci workspace-ul trebuie să aibă Unity Catalog activat. Versiunile digna anterioare ofereau o tehnologie separată „Databricks Legacy” pentru workspace-urile fără Unity Catalog; aceasta nu mai este disponibilă.
1. Instalați driverul ODBC¶
Instalați Databricks ODBC Driver pe mașina care rulează backend-ul digna, urmând ghidul de instalare Databricks.
În funcție de versiune, driverul se înregistrează ca Simba Spark ODBC Driver sau ca Databricks ODBC Driver. Citiți numele exact înregistrat de pe gazda dvs., așa cum este descris în Instalați driverul ODBC pe gazda digna.
2. Colectați detaliile conexiunii¶
Toate valorile provin din SQL warehouse-ul (sau clusterul) pe care doriți ca digna să îl folosească. Deschideți-l în workspace-ul Databricks și accesați Connection details:
| Câmp Databricks | Folosit ca |
|---|---|
| Server hostname | Host |
| Port | Port, de obicei 443 |
| HTTP path | HTTPPath |
Pentru autentificare, creați un personal access token — consultați Databricks personal access token authentication. Token-urile aparțin unui utilizator sau unui service principal, iar acel principal are nevoie de USE CATALOG, USE SCHEMA și SELECT pe datele sursă.
3. Proprietăți ODBC¶
Un exemplu, nu o specificație
Setul de mai jos este o combinație despre care se știe că funcționează. Proprietățile aparțin driverului Databricks/Simba, astfel încât numele, valorile implicite și valorile acceptate diferă între versiunile de driver — driverul a fost redenumit și opțiunile sale de autentificare extinse de mai multe ori — și între platforme. Folosiți-l ca punct de plecare și consultați documentația versiunii de driver pe care ați instalat-o.
Adăugați următoarele proprietăți în ecranul Add DB Connection:
| Cheie | Valoare exemplu | Note |
|---|---|---|
Driver | Simba Spark ODBC Driver | Trebuie să corespundă numelui driverului înregistrat pe gazda digna |
Host | <workspace>.cloud.databricks.com | Server hostname al warehouse-ului, de ex. adb-1234567890123456.12.azuredatabricks.net |
Port | 443 | |
HTTPPath | /sql/1.0/warehouses/<warehouse-id> | HTTP path al warehouse-ului sau clusterului |
SSL | 1 | Endpoint-urile Databricks acceptă doar TLS |
ThriftTransport | 2 | Transport HTTP, cel folosit de endpoint-urile SQL |
AuthMech | 3 | Autentificare cu token |
UID | token | Cuvântul literal token, nu un nume de utilizator |
PWD | dapi… | Personal access token-ul. Bifați Encrypted |
UseNativeQuery | 1 | Transmite nemodificat SQL-ul generat de digna — vezi mai jos |
Șirul de conexiune rezultat arată astfel:
Driver=Simba Spark ODBC Driver;Host=<workspace>.cloud.databricks.com;Port=443;HTTPPath=/sql/1.0/warehouses/<warehouse-id>;SSL=1;ThriftTransport=2;AuthMech=3;UID=token;PWD=dapi…;UseNativeQuery=1
Păstrați UseNativeQuery=1
Cu UseNativeQuery=0 — valoarea implicită a driverului — driverul rescrie SQL-ul primit în ceea ce consideră a fi sintaxă ODBC portabilă. digna generează deja SQL Databricks, astfel încât rescrierea poate modifica ghilimelele backtick și literalii de dată, iar profilarea eșuează apoi pe instrucțiuni care sunt valide în forma în care au fost scrise.
OAuth în loc de token¶
Pentru un service principal cu autentificare OAuth machine-to-machine, înlocuiți AuthMech, UID și PWD cu:
| Cheie | Valoare exemplu | Note |
|---|---|---|
AuthMech | 11 | OAuth |
Auth_Flow | 1 | Client credentials |
Auth_Client_ID | <application id> | Service principal |
Auth_Client_Secret | <client secret> | Bifați Encrypted |
4. Configurația digna¶
În ecranul Add DB Connection, furnizați următoarele:
Name: Name of the connection. This is used for referencing the connection in other screens.
Technology: Databricks
Profiling Mode: Standard, Permanent or Session
Work Schema: Schema for the work tables of "Permanent" profiling, e.g. "digna_work"
5. Note despre Databricks¶
- Warehouse-ul trebuie să ruleze, sau să poată porni, atunci când digna se conectează. Un warehouse care repornește dintr-o stare oprită poate avea nevoie de mai mult timp decât timeout-ul conexiunii — dacă testul eșuează la prima încercare după o perioadă de inactivitate, reîncercați.
- Cataloagele provin din workspace. Spre deosebire de majoritatea tehnologiilor, o conexiune Databricks ajunge la fiecare catalog pe care principalul are voie să îl vadă, astfel încât o singură conexiune poate deservi surse din mai multe cataloage.
- Moduri de profilare. Permanent creează tabelele de lucru în Work Schema din catalogul sursei, deci principalul are nevoie de
CREATE TABLEacolo. Session foloseșteCREATE TEMPORARY TABLEși nu atinge Work Schema. Standard necesită doar acces de citire. - Warehouse-urile serverless funcționează în același mod; diferă doar
HTTPPath.
6. Verificarea driverului (opțional)¶
Configurarea unei surse de date ODBC nu este necesară pentru o conexiune fără DSN, dar dialogul propriu al driverului este o modalitate comodă de a confirma că driverul, warehouse-ul și token-ul funcționează înainte de a le introduce în digna.
Pasul 1¶

Pasul 2¶

Pasul 3¶

Pasul 4¶

Pasul 5 – Testați conexiunea¶
Faceți clic pe butonul TEST. O conexiune reușită ar trebui să arate astfel:

Gazda, HTTP path și token-ul introduse aici sunt exact valorile pe care le iau proprietățile din secțiunea 3.