Databricks OSS ODBC Driver

Importante

Il driver Databricks OSS ODBC, versione 0.5.0, è in fase beta. Per informazioni sul driver generalmente disponibile versione 2.x, consulta la documentazione del driver Databricks ODBC.

Per segnalare un problema o richiedere una nuova funzionalità durante la fase beta del driver, contatta il team del tuo account Databricks.

Il driver ODBC OSS di Databricks è un driver ODBC 3.8 per Databricks SQL e i data warehouse Lakehouse//RT. È progettato per essere una sostituzione compatibile del driver ODBC Databricks versione 2.x per i carichi di lavoro supportati. Le applicazioni esistenti, le DSN e le stringhe di connessione che utilizzano funzionalità 2.x comuni dovrebbero generalmente funzionare senza modifiche.

Requisiti

Il driver Databricks OSS ODBC e il driver Databricks ODBC versione 2.x utilizzano lo stesso nome driver ODBC registrato, identificatori di pacchetto, percorsi di installazione e nomi di librerie. L'installazione di una versione sull'altra sostituisce l'installazione esistente. Per passare a un driver diverso, reinstalla il pacchetto della versione che desideri utilizzare.

Il driver ODBC OSS di Databricks è supportato sulle seguenti piattaforme:

Sistema operativo Pacchetto e architettura Requisito
Windows MSI per sistemi x64 e x86 L'architettura del driver deve corrispondere a quella dell'applicazione.
macOS Versione universale .pkg per Intel e Apple silicon macOS 13.3 o versioni successive.
Linux .deb e .rpm per x86_64, aarch64 e i686 glibc 2.28 o superiore e un driver driver compatibile ODBC.

Sono necessari anche il nome host del server e il percorso HTTP per un warehouse Databricks SQL o Lakehouse//RT. Vedi Ottieni i dettagli di connessione per una risorsa di calcolo di Azure Databricks.

Installa il driver Databricks OSS ODBC

  1. Nell'archivio del driver Databricks OSS ODBC, scarica il driver Databricks OSS ODBC versione 0.5.0 per il tuo sistema operativo e la tua architettura.
  2. Installa il pacchetto scaricato:
    • Su Windows, estrai il file scaricato ed esegui il file MSI a 32 o a 64 bit. L'installatore registra Databricks ODBC Driver con il Windows ODBC Driver Manager.

    • Su macOS, esegui DatabricksODBC-<version>-macOS.pkg.

    • Su Linux, installa il pacchetto .deb o .rpm e registra il driver con unixODBC:

      sudo odbcinst -i -d -f /opt/databricks/databricksodbc/Setup/odbcinst.ini
      

Le librerie di driver sono installate nelle stesse posizioni della versione 2.x:

  • Windows 64 bit: C:\Program Files\Databricks ODBC Driver\lib\databricksodbc64.dll
  • Windows 32-bit:C:\Program Files (x86)\Databricks ODBC Driver\lib\databricksodbc32.dll
  • macOS: /Library/databricks/databricksodbc/lib/libdatabricksodbc.dylib
  • Linux 64-bit: /opt/databricks/databricksodbc/lib/64/libdatabricksodbc64.so
  • Linux a 32 bit: /opt/databricks/databricksodbc/lib/32/libdatabricksodbc32.so

Configurare una connessione

Inizia con il DSN 2.x o la stringa di connessione esistenti. Proprietà comuni come Driver, Host, Port, HTTPPath, SSL, Catalog, e Schema sono compatibili. Il driver accetta anche proprietà comuni della versione 2.x che non sono necessarie per il relativo trasporto HTTP, così da consentire il riutilizzo dei DSN esistenti.

Per creare una DSN o una stringa di connessione senza DSN con queste impostazioni, vedi Crea una DSN ODBC per il driver ODBC Databricksoppure Crea una stringa di connessione senza DSN ODBC per il driver ODBC Databricks.

Per stabilire una nuova connessione, utilizza le proprietà nell'esempio seguente. Per una DSN, inserisci le stesse coppie chiave-valore usando il tuo gestore driver ODBC.

Il seguente esempio utilizza l'autenticazione OAuth da utente a macchina (U2M). Sono inclusi salti di riga per facilitare la lettura. Non includeteli nella stringa di connessione:

Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
AuthMech=11;
Auth_Flow=2;
Catalog=main;
Schema=default

Sono supportati i metodi di autenticazione seguenti:

Metodo di autenticazione Properties
OAuth utente-macchina (U2M) AuthMech=11;Auth_Flow=2. PWD non è richiesto. La cache persistente dei token è abilitata di default. Imposta EnableTokenCache=0 per disabilitarla, oppure imposta TokenCachePassPhrase per usare una passphrase quando si cripta la cache.
OAuth machine-to-machine (M2M) AuthMech=11;Auth_Flow=1;Auth_Client_ID=<client-id>;Auth_Client_Secret=<client-secret>.
Passaggio del token OAuth AuthMech=11;Auth_Flow=0;Auth_AccessToken=<oauth-token>.
Token di accesso personale Azure Databricks AuthMech=3;UID=token;PWD=<personal-access-token>.

Migrazione dalla versione 2.x

  1. Rivedi le limitazioni note delle funzionalità utilizzate dalla tua applicazione.
  2. Registra la versione 2.x installata e fai il backup dei DSN, delle stringhe di connessione e dei file di configurazione dei driver.
  3. Installa il driver Databricks OSS ODBC.
  4. Riutilizza il tuo DSN o stringa di connessione esistente.
  5. Creazione di connessione di test, scoperta dei metadati, istruzioni preparate, binding dei parametri, cancellazione, recupero di grandi risultati e flussi di lavoro rappresentativi dell'applicazione.

Il driver ODBC OSS Databricks può riportare nomi di tipi di Databricks più specifici e precisione e scala decimale dichiarate rispetto a 2.x. Valida applicazioni che confrontano esattamente i valori dei metadati.

Per tornare indietro dopo aver sostituito un'installazione, reinstalla il pacchetto 2.x richiesto e ripristina la configurazione di backup.

Limitazioni note

Le seguenti limitazioni si applicano mentre il driver è in Beta:

  • Il driver supporta i warehouse Databricks SQL e Lakehouse//RT. Non supporta il calcolo multiuso.
  • SQL viene sempre inviato direttamente ad Azure Databricks. Il driver non esegue la traduzione SQL-92 disponibile nella versione 2.x. UseNativeQuery è accettato per motivi di compatibilità, ma non modifica il comportamento.
  • Esecuzione asincrona tramite SQL_ATTR_ASYNC_ENABLE e SQLCompleteAsync non è supportata.
  • Le operazioni PUT, GET e REMOVE sui file nei volumi di Unity Catalog non sono supportate.
  • I parametri di ingresso binari non sono supportati.
  • Sono supportati array di parametri, incluso pyodbc fast_executemany con stringa e valori Unicode, ma il driver invia una richiesta di esecuzione per riga.
  • I risultati grandi usano automaticamente Cloud Fetch e non possono essere forzati in linea. Il recupero dei risultati supporta i tipi di dati SQL di Databricks tranne FILE e OBJECT. I valori complessi vengono restituiti come testo.
  • I proxy HTTPS supportano l'autenticazione di base, ma non l'autenticazione Kerberos o SPNEGO.
  • La configurazione della revoca dei certificati e le chiavi private crittografate per TLS reciproco non sono supportate.
  • Alcune proprietà avanzate 2.x non sono supportate. Il driver registra un avviso quando una proprietà non viene applicata.