Драйвер OSS ODBC Databricks

Important

Драйвер Databricks OSS ODBC версии 0.5.0 находится в бета-версии. Для получения информации о общедоступном драйвере версии 2.x см. документацию Databricks ODBC Driver.

Чтобы сообщить о проблеме или запросить функцию, пока драйвер находится в бета-версии, свяжитесь с вашей командой аккаунта Databricks.

Драйвер Databricks OSS ODBC — это драйвер ODBC 3.8 для хранилищ Databricks SQL и Lakehouse//RT . Он разработан как совместимая замена Databricks ODBC Driver версии 2.x для поддерживаемых рабочих нагрузок. Существующие приложения, DSN и строки подключения, использующие общую функциональность 2.x, обычно должны работать без изменений.

Требования

Драйвер Databricks OSS ODBC и Databricks ODBC Driver версии 2.x используют одно и то же зарегистрированное имя драйвера ODBC, идентификаторы пакетов, пути установки и имена библиотек. Установка одной версии поверх другой заменяет существующую установку. Чтобы сменить драйвер, переустановите пакет для той версии, которую вы хотите использовать.

Драйвер Databricks OSS ODBC поддерживается на следующих платформах:

Операционная система Пакеты и архитектура Требование
Windows MSI для x64 и x86 Архитектура драйвера должна соответствовать архитектуре приложения.
macOS Universal .pkg для Intel и Apple silicon macOS 13.3 или выше.
Линукс .deb а .rpm для x86_64, aarch64 и i686 glibc 2.28 или выше и совместимый менеджер драйверов ODBC.

Также для хранилища Databricks SQL или Lakehouse//RT нужны Server Hostname и HTTP-путь . См. Получить сведения о подключении для вычислительного ресурса Azure Databricks.

Установите драйвер Databricks OSS ODBC

  1. В архиве драйверов Databricks OSS ODBC скачайте версию драйвера Databricks OSS ODBC версии 0.5.0 для вашей операционной системы и архитектуры.
  2. Установите загруженный пакет:
    • В Windows распакуйте скачанный файл и запустите 32-битный или 64-битный MSI. Установщик регистрирует драйвер ODBC Databricks с менеджером драйверов Windows ODBC.

    • На macOS запускайте DatabricksODBC-<version>-macOS.pkg.

    • На Linux установите .deb пакет OR .rpm и зарегистрируйте драйвер в unixODBC:

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

Библиотеки драйверов устанавливаются в тех же местах, что и версии 2.x:

  • Windows 64-разрядная версия: C:\Program Files\Databricks ODBC Driver\lib\databricksodbc64.dll
  • Windows 32-разрядная версия: C:\Program Files (x86)\Databricks ODBC Driver\lib\databricksodbc32.dll
  • macOS: /Library/databricks/databricksodbc/lib/libdatabricksodbc.dylib
  • Linux 64-битный: /opt/databricks/databricksodbc/lib/64/libdatabricksodbc64.so
  • Linux 32-битный: /opt/databricks/databricksodbc/lib/32/libdatabricksodbc32.so

Настройка подключения

Начните с вашего существующего 2.x DSN или строка подключения. Общие свойства, такие как Driver, Host, Port, CatalogHTTPPathSSL, , и Schema совместимы. Драйвер также принимает общие свойства 2.x, которые не нужны для его HTTP-транспорта, чтобы существующие DSN можно было использовать повторно.

Чтобы создать DSN или строка подключения без DSN с этими настройками, см. Создать ODBC DSN для драйвера Databricks ODBC или Создать строку подключения ODBC без DSN для драйвера Databricks ODBC.

Для нового соединения используйте свойства из следующего примера. Для DSN введите те же пары ключ-значение через менеджер драйверов ODBC.

Следующий пример использует аутентификацию пользователя-машина OAuth (U2M). Для удобства читаемости включены разрывы строк. Не включайте их в строку строка подключения:

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

Поддерживаются следующие методы проверки подлинности:

Метод аутентификации Properties
OAuth пользователь-машина (U2M) AuthMech=11;Auth_Flow=2. PWD не требуется. Кэширование постоянных токенов по умолчанию включено. Установите EnableTokenCache=0, чтобы отключить это, или TokenCachePassPhrase, чтобы использовать парольную фразу при шифровании кэша.
OAuth межмашинное взаимодействие (M2M) AuthMech=11;Auth_Flow=1;Auth_Client_ID=<client-id>;Auth_Client_Secret=<client-secret>.
Проход токена OAuth AuthMech=11;Auth_Flow=0;Auth_AccessToken=<oauth-token>.
Личный маркер доступа Azure Databricks AuthMech=3;UID=token;PWD=<personal-access-token>.

Переход с версии 2.x

  1. Изучите известные ограничения для функций, используемых вашим приложением.
  2. Запиши установленную версию 2.x и сделай резервную копию DSN, строк подключения и файлов конфигурации драйверов.
  3. Установите драйвер ODBC Databricks OSS.
  4. Используйте свой существующий DSN или строку подключения.
  5. Создание тестовых соединений, обнаружение метаданных, подготовленные операторы, привязка параметров, отмена, поиск больших результатов и репрезентативные рабочие процессы приложений.

Драйвер Databricks OSS ODBC может сообщать более конкретные названия типов данных Databricks, а также объявленные значения точности и масштаба для decimal, чем драйвер версии 2.x. Проверяйте приложения на точное сравнение значений метаданных.

Чтобы откатиться после замены установки, переустановите необходимый пакет 2.x и восстановите резервную конфигурацию.

Известные ограничения

Пока драйвер находится в стадии бета-тестирования, действуют следующие ограничения:

  • Драйвер поддерживает хранилища Databricks SQL и Lakehouse//RT. Он не поддерживает вычисления общего назначения.
  • SQL всегда отправляется напрямую в Azure Databricks. Драйвер не выполняет перевод SQL-92, доступный в версии 2.x. UseNativeQuery принимается для совместимости, но не меняет поведение.
  • Асинхронное выполнение сквозь SQL_ATTR_ASYNC_ENABLE и SQLCompleteAsync не поддерживается.
  • PUT, GET, и REMOVE операции для файлов в томах каталога Unity не поддерживаются.
  • Бинарные входные параметры не поддерживаются.
  • Поддерживаются массивы параметров, включая pyodbc fast_executemany со значениями строк и Unicode, но драйвер отправляет один запрос на выполнение на каждую строку.
  • Крупные результаты используют Cloud Fetch автоматически и не могут быть принудительно встроены. Извлечение результатов поддерживает типы данных Databricks SQL, за исключением FILE и OBJECT. Комплексные значения возвращаются в виде текста.
  • HTTPS-прокси поддерживают базовую аутентификацию, но не Kerberos или SPNEGO аутентификацию.
  • Конфигурация отзыва сертификатов и зашифрованные взаимные приватные ключи TLS не поддерживаются.
  • Некоторые продвинутые свойства 2.x не поддерживаются. Драйвер фиксирует предупреждение, когда свойство не применяется.