Aller au contenu principal

Databricks OSS ODBC Driver

info

Bêta

Le Driver Databricks OSS ODBC, version 0,5,0, est en version Beta. Pour plus d’informations sur la version 2.x généralement disponible du driver, consultez la documentation du Driver ODBC Databricks.

Pour signaler un problème ou demander une fonctionnalité pendant que le Driver est en version bêta, veuillez contacter l'équipe de votre compte Databricks.

Le Driver Databricks OSS ODBC est un driver ODBC 3.8 pour Databricks SQL et les warehouses Lakehouse//RT. Il est conçu pour être un remplacement compatible du Driver Databricks ODBC version 2.x pour les charges de travail prises en charge. Les applications, DSN et chaînes de connexion existants qui utilisent les fonctionnalités courantes de la version 2.x devraient généralement fonctionner sans modification.

Prérequis​

Le Databricks OSS ODBC Driver et le Databricks ODBC Driver version 2.x utilisent le même nom de driver ODBC enregistré, les mêmes identifiants de package, chemins d'installation et noms de bibliothèque. L'installation d'une version par-dessus l'autre remplace l'installation existante. Pour changer de driver, réinstallez le package correspondant à la version que vous souhaitez utiliser.

Le Databricks OSS ODBC Driver est pris en charge sur les plateformes suivantes :

Système d'exploitation

Package et architecture

Condition requise

Windows

MSI pour x64 et x86

L'architecture du driver doit correspondre à l'architecture de l'application.

macOS

Universal .pkg pour le silicium Intel et Apple

macOS 13.3 ou version ultérieure.

Linux

.deb et .rpm pour x86_64, aarch64 et i686

glibc 2.28 ou version supérieure et un gestionnaire de driver ODBC compatible.

Système d'exploitation

Package et architecture

Condition requise

Windows

MSI pour x64 et x86

L'architecture du driver doit correspondre à l'architecture de l'application.

macOS

Universal .pkg pour le silicium Intel et Apple

macOS 13.3 ou version ultérieure.

Linux

.deb et .rpm pour x86_64, aarch64 et i686

glibc 2.28 ou version supérieure et un gestionnaire de driver ODBC compatible.

Vous avez également besoin du Server Hostname et du HTTP Path pour un warehouse Databricks SQL ou Lakehouse//RT. Consultez Obtenir les détails de connexion pour une ressource de compute Databricks.

Installez le Driver ODBC Databricks OSS​

  1. Sur les archives du Databricks OSS ODBC Driver, download le Databricks OSS ODBC Driver version 0.5.0 pour votre système d'exploitation et votre architecture.
  2. Installez le download package :
    • Sous Windows, extrayez le download et exécutez le fichier MSI 32 bits ou 64 bits. L'installateur enregistre le Databricks ODBC Driver auprès du Windows ODBC Driver Manager.

    • Sous macOS, exécutez DatabricksODBC-<version>-macOS.pkg.

    • Sous Linux, installez le package .deb ou .rpm et enregistrez le driver auprès de unixODBC :

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

Les bibliothèques du Driver sont installées aux mêmes emplacements que pour la version 2.x :

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

Configurer une connexion​

Start par votre DSN 2.x existant ou votre chaîne de connexion. Les propriétés courantes telles que Driver, Host, Port, HTTPPath, SSL, Catalog et Schema sont compatibles. Le driver accepte également les propriétés courantes 2.x qui ne sont pas nécessaires sur son transport HTTP afin que les DSN existants puissent être réutilisés.

Pour créer un DSN ou une chaîne de connexion sans DSN avec ces paramètres, consultez la page Création d'un DSN ODBC pour le driver ODBC Databricks ou Création d'une chaîne de connexion sans DSN ODBC pour le driver ODBC Databricks.

Pour une nouvelle connexion, utilisez les propriétés dans l'exemple suivant. Pour un DSN, saisissez les mêmes paires clé-valeur à l'aide de votre gestionnaire de driver ODBC.

L’exemple suivant utilise l’authentification OAuth utilisateur-à-machine (U2M). Des sauts de ligne sont inclus pour plus de lisibilité. Ne les incluez pas dans la chaîne de connexion :

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

Les méthodes d'authentification suivantes sont prises en charge :

Méthode d’authentification

Propriétés

OAuth utilisateur à machine (U2M)

AuthMech=11;Auth_Flow=2. PWD n'est pas requis. La mise en cache persistante des jetons est activée par default. Définissez EnableTokenCache=0 pour la désactiver, ou définissez TokenCachePassPhrase pour utiliser une phrase secrète lors du chiffrement du cache.

OAuth machine-à-machine (M2M)

AuthMech=11;Auth_Flow=1;Auth_Client_ID=<client-id>;Auth_Client_Secret=<client-secret>.

Pass-through de jetons OAuth

AuthMech=11;Auth_Flow=0;Auth_AccessToken=<oauth-token>.

Jeton d'accès personnel Databricks

AuthMech=3;UID=token;PWD=<personal-access-token>.

Méthode d’authentification

Propriétés

OAuth utilisateur à machine (U2M)

AuthMech=11;Auth_Flow=2. PWD n'est pas requis. La mise en cache persistante des jetons est activée par default. Définissez EnableTokenCache=0 pour la désactiver, ou définissez TokenCachePassPhrase pour utiliser une phrase secrète lors du chiffrement du cache.

OAuth machine-à-machine (M2M)

AuthMech=11;Auth_Flow=1;Auth_Client_ID=<client-id>;Auth_Client_Secret=<client-secret>.

Pass-through de jetons OAuth

AuthMech=11;Auth_Flow=0;Auth_AccessToken=<oauth-token>.

Jeton d'accès personnel Databricks

AuthMech=3;UID=token;PWD=<personal-access-token>.

Migrer à partir de la version 2.x​

  1. Consultez les known limitations pour les fonctionnalités utilisées par votre application.
  2. Consignez la version 2.x installée et effectuez une sauvegarde de vos DSN, chaînes de connexion et fichiers de configuration du driver.
  3. Installez le driver ODBC Databricks OSS.
  4. Réutilisez votre DSN ou chaîne de connexion existante.
  5. Testez la création de connexions, la découverte de métadonnées, les instructions préparées, la liaison de parameter, l’annulation, la récupération de grands ensembles de résultats et les workflows d'application représentatifs.

Le Databricks OSS ODBC Driver peut signaler des noms de types Databricks plus spécifiques ainsi qu'une précision et une échelle décimales déclarées supérieures à la version 2.x. Validez les applications qui comparent exactement les valeurs de métadonnées.

Pour effectuer un retour arrière après le remplacement d'une installation, réinstallez le package 2.x requis et restaurez la configuration sauvegardée.

Limitations connues​

Les limitations suivantes s'appliquent tant que le driver est en version bêta :

  • Le driver prend en charge Databricks SQL et les warehouse Lakehouse//RT. Il ne prend pas en charge le compute multifonction.
  • SQL est toujours envoyé directement à Databricks. Le driver n'effectue pas la traduction SQL-92 disponible dans la version 2.x. UseNativeQuery est accepté par souci de compatibilité, mais ne modifie pas le comportement.
  • L'exécution asynchrone via SQL_ATTR_ASYNC_ENABLE et SQLCompleteAsync n'est pas prise en charge.
  • PUT, GET et REMOVE Opérations pour les fichiers dans les volumes Unity Catalog ne sont pas prises en charge.
  • Les parameter d'entrée binaires ne sont pas pris en charge.
  • Les tableaux de parameter, y compris pyodbc fast_executemany avec des valeurs de chaîne et Unicode, sont pris en charge, mais le Driver envoie une requête d’exécution par ligne.
  • Les résultats volumineux utilisent Cloud Fetch automatiquement et ne peuvent pas être forcés en ligne. La récupération des résultats prend en charge les types de données Databricks SQL à l'exception de FILE et de OBJECT. Les valeurs complexes sont renvoyées sous forme de texte.
  • Les proxys HTTPS prennent en charge l'authentification de base, mais pas l'authentification Kerberos ou SPNEGO.
  • La configuration de la révocation de certificats et les clés privées TLS mutuelles chiffrées ne sont pas prises en charge.
  • Certaines propriétés 2.x avancées ne sont pas prises en charge. Le Driver Logs un avertissement lorsqu'une propriété n'est pas appliquée.