Databricks OSS ODBC Driver

Important

De Databricks OSS ODBC-driver, versie 0.5.0, bevindt zich in de bèta. Raadpleeg voor informatie over de algemeen beschikbare 2.x-driver de documentatie over Databricks ODBC Driver.

Om een probleem te melden of een functie aan te vragen terwijl de driver in Bèta is, neem contact op met je Databricks-accountteam.

De Databricks OSS ODBC Driver is een ODBC 3.8-driver voor Databricks SQL- en Lakehouse//RT-warehouses. Het is ontworpen als een compatibele vervanging voor Databricks ODBC Driver versie 2.x voor ondersteunde werklasten. Bestaande applicaties, DSN’s en verbindingsreeksen die gebruikmaken van de gangbare 2.x-functionaliteit, zouden over het algemeen zonder wijzigingen moeten werken.

Vereisten

De Databricks OSS ODBC Driver en de Databricks ODBC Driver versie 2.x gebruiken dezelfde geregistreerde ODBC-drivernaam, pakket-ID's, installatiepaden en bibliotheeknamen. Het installeren van de ene versie over de andere heen vervangt de bestaande installatie. Om van driver te wisselen, installeer je het pakket opnieuw voor de versie die je wilt gebruiken.

De Databricks OSS ODBC-driver wordt ondersteund op de volgende platforms:

besturingssysteem Package en architectuur Requirement
Windows MSI voor x64 en x86 De driverarchitectuur moet overeenkomen met de applicatiearchitectuur.
macOS Universeel .pkg voor Intel en Apple silicon macOS 13.3 of hoger.
Linux .deb en .rpm voor x86_64, aarch64 en i686 glibc 2.28 of hoger en een compatibele ODBC driver manager.

Je hebt ook de Server Hostname en HTTP-pad nodig voor een Databricks SQL- of Lakehouse//RT-warehouse. Zie Verbindingsgegevens ophalen voor een Azure Databricks-rekenresource.

Installeer de Databricks OSS ODBC-driver

  1. Download in het Databricks OSS ODBC Driver-archief de Databricks OSS ODBC Driver versie 0.5.0 voor je besturingssysteem en architectuur.
  2. Installeer het gedownloade pakket:
    • Op Windows pak je het gedownloade bestand uit en voer je de 32-bits- of 64-bits-MSI uit. Het installatieprogramma registreert Databricks ODBC Driver bij Windows ODBC Driver Manager.

    • Op macOS voer DatabricksODBC-<version>-macOS.pkg uit.

    • Installeer op Linux het pakket .deb of .rpm en registreer de driver bij unixODBC:

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

De driverbibliotheken zijn op dezelfde locaties geïnstalleerd als in versie 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 32-bit: /opt/databricks/databricksodbc/lib/32/libdatabricksodbc32.so

Een verbinding configureren

Begin met je bestaande 2.x DSN of verbindingsreeks. Veelvoorkomende eigenschappen zoals Driver, Host, Port, SSL, HTTPPath, Catalog en Schema zijn compatibel. De driver accepteert ook veelvoorkomende 2.x-eigenschappen die niet nodig zijn op het HTTP-transport, zodat bestaande DSN's hergebruikt kunnen worden.

Om een DSN of een DSN-vrije verbindingsreeks met deze instellingen te maken, raadpleeg Create an ODBC DSN for the Databricks ODBC Driver of Create an ODBC DSN-less verbindingsreeks for the Databricks ODBC Driver.

Voor een nieuwe verbinding, gebruik je de eigenschappen uit het volgende voorbeeld. Voor een DSN voer je dezelfde sleutel-waarde paren in met je ODBC driver manager.

In het volgende voorbeeld wordt gebruikgemaakt van OAuth-gebruikers-naar-machineauthenticatie (U2M). Regelafbrekingen zijn opgenomen om de leesbaarheid te verbeteren. Neem ze niet op in de verbindingsreeks:

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

De volgende authenticatiemethoden worden ondersteund:

Verificatiemethode Properties
OAuth gebruiker-naar-machine (U2M) AuthMech=11;Auth_Flow=2. PWD is niet verplicht. Persistent token-caching is standaard ingeschakeld. Stel EnableTokenCache=0 in om dit uit te schakelen, of stel TokenCachePassPhrase in om een wachtwoordzin te gebruiken bij het versleutelen van de cache.
OAuth machine-to-machine (M2M) AuthMech=11;Auth_Flow=1;Auth_Client_ID=<client-id>;Auth_Client_Secret=<client-secret>.
OAuth token-doorgifte AuthMech=11;Auth_Flow=0;Auth_AccessToken=<oauth-token>.
persoonlijk toegangstoken voor Azure Databricks AuthMech=3;UID=token;PWD=<personal-access-token>.

Migreren vanaf versie 2.x

  1. Bekijk de bekende beperkingen voor de functies die uw toepassing gebruikt.
  2. Neem de geïnstalleerde 2.x-versie op en maak een back-up van je DSN's, verbindingsstrings en driverconfiguratiebestanden.
  3. Installeer de Databricks OSS ODBC-driver.
  4. Hergebruik je bestaande DSN of verbindingsreeks.
  5. Testverbindingen aanmaken, metadata-ontdekking, voorbereide statements, parameterbinding, annulering, het ophalen van grote resultaten en representatieve applicatieworkflows.

De Databricks OSS ODBC-driver kan meer specifieke Databricks-typenamen en declareerde decimale precisie en schaal rapporteren dan 2.x. Valideer applicaties die metadatawaarden exact vergelijken.

Om na het vervangen van een installatie terug te gaan, installeer je het vereiste 2.x-pakket opnieuw en herstel je de geback-upte configuratie.

Bekende beperkingen

De volgende beperkingen gelden zolang het stuurprogramma zich in de bètafase bevindt:

  • De driver ondersteunt Databricks SQL en Lakehouse//RT warehouses. Het ondersteunt geen all-purpose compute.
  • SQL wordt altijd rechtstreeks naar Azure Databricks gestuurd. Het stuurprogramma voert de SQL-92-vertaling die beschikbaar is in 2.x niet uit. UseNativeQuery wordt geaccepteerd voor compatibiliteit, maar verandert gedrag niet.
  • Asynchrone uitvoering via SQL_ATTR_ASYNC_ENABLE en SQLCompleteAsync wordt niet ondersteund.
  • PUT, GET, en REMOVE bewerkingen voor bestanden in Unity Catalog-volumes worden niet ondersteund.
  • Binaire invoerparameters worden niet ondersteund.
  • Parameterarrays, waaronder pyodbc fast_executemany met string- en Unicode-waarden, worden ondersteund, maar de driver stuurt één uitvoeringsverzoek per rij.
  • Grote resultatensets maken automatisch gebruik van Cloud Fetch en kunnen niet inline worden afgedwongen. Het ophalen van resultaten ondersteunt de SQL-gegevenstypen van Databricks, met uitzondering van FILE en OBJECT. Complexe waarden worden als tekst teruggegeven.
  • HTTPS-proxies ondersteunen basisauthenticatie, maar geen Kerberos- of SPNEGO-authenticatie.
  • Configuratie van certificaatintrekking en versleutelde wederzijdse TLS-privésleutels wordt niet ondersteund.
  • Sommige geavanceerde 2.x-eigenschappen worden niet ondersteund. Het stuurprogramma registreert een waarschuwing wanneer een eigenschap niet is toegepast.