Sterownik ODBC Databricks OSS

Important

Sterownik ODBC Databricks OSS, wersja 0.5.0, jest w fazie beta. Informacje o ogólnie dostępnym sterowniku wersji 2.x można znaleźć w dokumentacji sterownika Databricks ODBC.

Aby zgłosić problem lub poprosić o funkcję podczas fazy beta, skontaktuj się z zespołem konta Databricks.

Sterownik ODBC Databricks OSS to sterownik ODBC 3.8 dla magazynów Databricks SQL i Lakehouse//RT . Został zaprojektowany jako kompatybilny zamiennik sterownika ODBC w wersji 2.x Databricks dla obsługiwanych obciążeń. Istniejące aplikacje, DSN-y i łańcuchy połączeń korzystające z powszechnej funkcjonalności 2.x powinny zazwyczaj działać bez zmian.

Requirements

Sterowniki ODBC Databricks OSS oraz Databricks ODBC Driver w wersji 2.x używają tej samej zarejestrowanej nazwy sterownika ODBC, identyfikatorów pakietów, ścieżek instalacji oraz nazw bibliotek. Instalowanie jednej wersji zamiast drugiej zastępuje istniejącą instalację. Aby zmienić sterowniki, zainstaluj pakiet na wersję, której chcesz używać.

Sterownik ODBC Databricks OSS jest obsługiwany na następujących platformach:

System operacyjny Pakiet i architektura Wymaganie
Windows MSI dla x64 i x86 Architektura sterowników musi odpowiadać architekturze aplikacji.
macOS Universal .pkg dla Intela i Apple Silicon macOS 13.3 lub nowszy.
Linux .deb .rpm oraz dla x86_64, aarch64 i i686 glibc 2.28 lub nowszy oraz kompatybilny menedżer sterowników ODBC.

Potrzebujesz też nazwy hosta serwera i ścieżki HTTP dla magazynu Databricks SQL lub Lakehouse//RT. Zobacz Jak uzyskać szczegóły połączenia dla zasobu obliczeniowego Azure Databricks.

Zainstaluj sterownik ODBC Databricks OSS

  1. Na archiwum sterowników ODBC Databricks OSS pobierz sterownik ODBC w wersji 0.5.0 dla swojego systemu operacyjnego i architektury.
  2. Zainstaluj pobrany pakiet:
    • Na Windows rozpakuj pobrany plik i uruchom 32-bitowe lub 64-bitowe MSI. Instalator rejestruje sterownik Databricks ODBC w Menedżerze sterowników Windows ODBC.

    • Na macOS uruchom DatabricksODBC-<version>-macOS.pkg.

    • Na Linuksie zainstaluj .deb pakiet lub .rpm i zarejestruj sterownik w unixODBC:

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

Biblioteki sterowników są zainstalowane w tych samych miejscach co wersja 2.x:

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

Konfigurowanie połączenia

Zacznij od istniejącego DSN 2.x lub parametry połączenia. Wspólne właściwości, takie jak Driver, Host, Port, HTTPPath, SSL, Catalog, oraz Schema są ze sobą kompatybilne. Sterownik akceptuje także wspólne właściwości 2.x, które nie są potrzebne w jego transporcie HTTP, aby istniejące DSN mogły być ponownie wykorzystane.

Aby utworzyć DSN lub parametry połączenia bez DSN z tymi ustawieniami, zobacz Create an ODBC DSN for the Databricks ODBC Driver lub Create an ODBC DSN (parametry połączenia less) dla sterownika ODBC ODBC.

Dla nowego połączenia, użyj właściwości z poniższego przykładu. Dla DSN wprowadź te same pary klucz-wartość za pomocą menedżera sterowników ODBC.

Poniższy przykład wykorzystuje uwierzytelnianie użytkownika do maszyny (U2M) w OAuth. Podziały na wiersze zostały dodane dla czytelności. Nie umieszczaj ich w parametrach połączenia:

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

Obsługiwane są następujące metody uwierzytelniania:

Metoda uwierzytelniania Properties
OAuth użytkownik-do-maszyny (U2M) AuthMech=11;Auth_Flow=2. PWD nie jest wymagany. Trwałe buforowanie tokenów jest domyślnie włączone. Ustaw EnableTokenCache=0 wyłączenie tego lub ustaw TokenCachePassPhrase na używanie hasła podczas szyfrowania pamięci podręcznej.
OAuth maszyna do maszyny (M2M) AuthMech=11;Auth_Flow=1;Auth_Client_ID=<client-id>;Auth_Client_Secret=<client-secret>.
Przejście tokenów OAuth AuthMech=11;Auth_Flow=0;Auth_AccessToken=<oauth-token>.
Osobisty token dostępu usługi Azure Databricks AuthMech=3;UID=token;PWD=<personal-access-token>.

Migracja z wersji 2.x

  1. Przejrzyj znane ograniczenia funkcji używanych przez Twoją aplikację.
  2. Nagraj zainstalowaną wersję 2.x i zrób kopię zapasową swoich DSN, łańcuchów połączeń oraz plików konfiguracyjnych sterowników.
  3. Zainstaluj sterownik ODBC Databricks OSS.
  4. Ponownie użyj swojego istniejącego DSN lub parametry połączenia.
  5. Testowanie tworzenia połączenia, wykrywanie metadanych, przygotowane instrukcje SQL, wiązanie parametrów, anulowanie, pobieranie dużych zbiorów wyników oraz reprezentatywne przepływy pracy aplikacji.

Sterownik Databricks OSS ODBC może zwracać bardziej szczegółowe nazwy typów Databricks oraz zadeklarowaną precyzję i skalę dziesiętną niż wersja 2.x. Weryfikuj aplikacje, które dokładnie porównują wartości metadanych.

Aby cofnąć się po wymianie instalacji, ponownie zainstaluj wymagany pakiet 2.x i przywróć konfigurację z kopii zapasowej.

Znane ograniczenia

Następujące ograniczenia obowiązują podczas przejścia sterownika w fazie beta:

  • Sterownik obsługuje magazyny danych Databricks SQL oraz Lakehouse//RT. Nie obsługuje wszechstronnego przetwarzania obliczeń.
  • SQL jest zawsze wysyłany bezpośrednio do Azure Databricks. Sterownik nie wykonuje tłumaczenia SQL-92 dostępnego w wersji 2.x. UseNativeQuery jest akceptowana pod względem kompatybilności, ale nie zmienia zachowania.
  • Wykonywanie asynchroniczne za pośrednictwem SQL_ATTR_ASYNC_ENABLE i SQLCompleteAsync nie jest obsługiwane.
  • PUT, GET, a operacje REMOVE dla plików w woluminach Unity Catalog nie są obsługiwane.
  • Nie obsługiwane są binarne parametry wejściowe.
  • Obsługiwane są tablice parametrów, w tym pyodbc fast_executemany z wartościami string i Unicode, ale sterownik wysyła jedno żądanie wykonania na wiersz.
  • Duże zestawy wyników są automatycznie pobierane za pomocą funkcji Cloud Fetch i nie można wymusić ich zwracania w trybie inline. Pobieranie wyników obsługuje typy danych SQL Databricks z wyjątkiem FILE i OBJECT. Wartości złożone są zwracane jako tekst.
  • Proxy HTTPS obsługują podstawowe uwierzytelnianie, ale nie obsługują uwierzytelniania Kerberos ani SPNEGO.
  • Konfiguracja unieważniania certyfikatów oraz szyfrowane prywatne klucze do wzajemnego TLS (mTLS) nie są obsługiwane.
  • Niektóre zaawansowane właściwości 2.x nie są obsługiwane. Kierowca rejestruje ostrzeżenie, gdy dana własność nie jest stosowana.