Kildeconnector til Databricks¶
Denne vejledning beskriver, hvordan du konfigurerer digna til at oprette forbindelse til Databricks over ODBC med en DSN-løs forbindelsesstreng.
digna-delen af opsætningen er den samme for alle teknologier — hvor forbindelser oprettes, hvordan egenskabsværdier krypteres, hvordan en forbindelse testes, og hvad profileringstilstandene betyder. Den er beskrevet i Oversigt over databaseforbindelser. Denne side dækker det, der er specifikt for Databricks.
Unity Catalog er påkrævet
digna læser de tilgængelige kataloger fra system.information_schema.catalogs, så workspacet skal have Unity Catalog aktiveret. Tidligere digna-versioner tilbød en separat teknologi, "Databricks Legacy", til workspaces uden Unity Catalog; den findes ikke længere.
1. Installer ODBC-driveren¶
Installer Databricks ODBC Driver på den maskine, der kører digna-backend, efter Databricks' installationsvejledning.
Afhængigt af versionen registrerer driveren sig som Simba Spark ODBC Driver eller som Databricks ODBC Driver. Aflæs det nøjagtige registrerede navn på din vært som beskrevet i Installer ODBC-driveren på digna-værten.
2. Indsaml forbindelsesoplysningerne¶
Alle værdier kommer fra det SQL warehouse (eller den cluster), som digna skal bruge. Åbn det i Databricks-workspacet, og gå til Connection details:
| Databricks-felt | Bruges som |
|---|---|
| Server hostname | Host |
| Port | Port, normalt 443 |
| HTTP path | HTTPPath |
Til autentificering skal du oprette et personal access token — se Databricks personal access token authentication. Tokens tilhører en bruger eller en service principal, og den principal skal have USE CATALOG, USE SCHEMA og SELECT på kildedataene.
3. ODBC-egenskaber¶
Et eksempel, ikke en specifikation
Sættet nedenfor er én kombination, der vides at virke. Egenskaberne tilhører Databricks/Simba-driveren, så deres navne, standardværdier og accepterede værdier varierer mellem driverversioner — driveren er blevet omdøbt, og dens autentificeringsmuligheder er udvidet mere end én gang — og mellem platforme. Brug dette som udgangspunkt, og tjek dokumentationen for den driverversion, du har installeret.
Tilføj følgende egenskaber på skærmen Add DB Connection:
| Nøgle | Eksempelværdi | Bemærkninger |
|---|---|---|
Driver | Simba Spark ODBC Driver | Skal matche det drivernavn, der er registreret på digna-værten |
Host | <workspace>.cloud.databricks.com | Warehousets server hostname, f.eks. adb-1234567890123456.12.azuredatabricks.net |
Port | 443 | |
HTTPPath | /sql/1.0/warehouses/<warehouse-id> | HTTP path for warehouset eller clusteren |
SSL | 1 | Databricks-endpoints understøtter kun TLS |
ThriftTransport | 2 | HTTP-transport, som er det, SQL-endpoints taler |
AuthMech | 3 | Token-autentificering |
UID | token | Det bogstavelige ord token, ikke et brugernavn |
PWD | dapi… | Personal access token. Sæt flueben i Encrypted |
UseNativeQuery | 1 | Sender dignas SQL uændret videre — se nedenfor |
Den resulterende forbindelsesstreng ser sådan ud:
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
Behold UseNativeQuery=1
Med UseNativeQuery=0 — driverens standard — omskriver driveren indgående SQL til det, den mener er portabel ODBC-syntaks. digna genererer allerede Databricks SQL, så omskrivningen kan ændre citering med backticks og datoliteraler, og profileringen fejler derefter på sætninger, der er gyldige, som de er skrevet.
OAuth i stedet for et token¶
For en service principal med OAuth machine-to-machine-autentificering skal AuthMech, UID og PWD erstattes med:
| Nøgle | Eksempelværdi | Bemærkninger |
|---|---|---|
AuthMech | 11 | OAuth |
Auth_Flow | 1 | Client credentials |
Auth_Client_ID | <application id> | Service principal |
Auth_Client_Secret | <client secret> | Sæt flueben i Encrypted |
4. digna-konfiguration¶
Angiv følgende på skærmen Add DB Connection:
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. Bemærkninger om Databricks¶
- Warehouset skal køre eller kunne starte, når digna opretter forbindelse. Et warehouse, der startes fra stoppet tilstand, kan tage længere tid end forbindelsestimeouten — hvis testen fejler ved første forsøg efter en inaktiv periode, så prøv igen.
- Kataloger kommer fra workspacet. I modsætning til de fleste teknologier når én Databricks-forbindelse alle kataloger, som principalen har lov til at se, så én forbindelse kan betjene kilder på tværs af kataloger.
- Profileringstilstande. Permanent opretter arbejdstabellerne i Work Schema i kildens katalog, så principalen skal have
CREATE TABLEder. Session brugerCREATE TEMPORARY TABLEog rører ikke Work Schema. Standard kræver kun læseadgang. - Serverless warehouses virker på samme måde; kun
HTTPPather anderledes.
6. Verificering af driveren (valgfrit)¶
Det er ikke nødvendigt at konfigurere en ODBC-datakilde for en DSN-løs forbindelse, men driverens egen dialog er en bekvem måde at bekræfte, at driveren, warehouset og tokenet virker, før du indtaster dem i digna.
Trin 1¶

Trin 2¶

Trin 3¶

Trin 4¶

Trin 5 – Test forbindelsen¶
Klik på knappen TEST. En vellykket forbindelse skal se sådan ud:

Den vært, HTTP path og det token, der indtastes her, er præcis de værdier, egenskaberne i afsnit 3 skal have.