Pular para o conteúdo principal

Databricks OSS ODBC Driver

info

Beta

O Databricks OSS ODBC Driver, versão 0.5.0, está em Beta. Para obter informações sobre a versão 2.x do driver geralmente disponível, consulte a documentação do Databricks ODBC Driver.

Para relatar um problema ou solicitar um recurso enquanto o driver estiver em Beta, entre em contato com sua equipe de account do Databricks.

O Databricks OSS ODBC Driver é um driver ODBC 3.8 para Databricks SQL e warehouse do Lakehouse//RT. Ele foi projetado para ser um substituto compatível para o Databricks ODBC Driver versão 2.x para cargas de trabalho suportadas. Aplicativos, DSNs e strings de conexão existentes que usam a funcionalidade comum da versão 2.x geralmente devem funcionar sem alterações.

Requisitos​

O Databricks OSS ODBC Driver e o Databricks ODBC Driver versão 2.x usam o mesmo nome de driver ODBC registrado, identificadores de pacote, caminhos de instalação e nomes de biblioteca. Instalar uma versão sobre a outra substitui a instalação existente. Para alternar os drivers, reinstale o pacote da versão que você deseja usar.

O Driver ODBC do Databricks OSS é compatível com as seguintes plataformas:

Sistema operacional

Pacote e arquitetura

Requisito

Windows

MSI para x64 e x86

A arquitetura do driver deve corresponder à arquitetura da aplicação.

macOS

Universal .pkg for Intel and Apple silicon

macOS 13.3 ou acima.

Linux

.deb e .rpm para x86_64, aarch64 e i686

glibc 2.28 ou acima e um gerenciador de Driver ODBC compatível.

Sistema operacional

Pacote e arquitetura

Requisito

Windows

MSI para x64 e x86

A arquitetura do driver deve corresponder à arquitetura da aplicação.

macOS

Universal .pkg for Intel and Apple silicon

macOS 13.3 ou acima.

Linux

.deb e .rpm para x86_64, aarch64 e i686

glibc 2.28 ou acima e um gerenciador de Driver ODBC compatível.

Você também precisa do Nome de hostname do servidor e do Caminho HTTP para um warehouse do Databricks SQL ou do Lakehouse//RT. Consulte Obter detalhes de conexão para um recurso de compute do Databricks.

Instale o Databricks OSS ODBC Driver​

  1. No Databricks OSS ODBC Driver archive, faça o download da versão 0.5.0 do Databricks OSS ODBC Driver para seu sistema operacional e arquitetura.
  2. Instale o pacote download:
    • On Windows, extract the download and faça a execução do 32-bit or 64-bit MSI. The installer registro Databricks ODBC Driver with the Windows ODBC Driver Manager.

    • No macOS, execução DatabricksODBC-<version>-macOS.pkg.

    • No Linux, instale o pacote .deb ou .rpm e registre o driver com o unixODBC:

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

As bibliotecas de driver são instaladas nos mesmos locais que a versão 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 de 64 bits: /opt/databricks/databricksodbc/lib/64/libdatabricksodbc64.so
  • Linux 32 bits: /opt/databricks/databricksodbc/lib/32/libdatabricksodbc32.so

Configurar uma conexão​

Começar with your existing 2.x DSN or connection string. Common properties such as Driver, Host, Port, HTTPPath, SSL, Catalog, and Schema are compatible. The driver also accepts common 2.x properties that are not needed on its HTTP transport so that existing DSNs can be reused.

Para criar um DSN ou uma string de conexão sem DSN com essas configurações, consulte Criar um DSN ODBC para o Driver ODBC do Databricks ou Criar uma string de conexão sem DSN ODBC para o Driver ODBC do Databricks.

Para uma nova conexão, use as propriedades no exemplo a seguir. Para um DSN, insira os mesmos pares key-value usando o seu gerenciador de driver ODBC.

O exemplo a seguir usa autenticação OAuth user-to-machine (U2M). As quebras de linha são incluídas para facilitar a leitura. Não os inclua na string de conexão:

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

Os seguintes métodos de autenticação são suportados:

Método de autenticação

Propriedades

OAuth user-to-machine (U2M)

AuthMech=11;Auth_Flow=2. PWD não é obrigatório. O cache de tokens persistente é ativado por default. Defina EnableTokenCache=0 para desativá-lo ou defina TokenCachePassPhrase para usar uma senha ao criptografar o cache.

OAuth machine-to-machine (M2M)

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

Pass-through de tokens OAuth

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

access token pessoal do Databricks

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

Método de autenticação

Propriedades

OAuth user-to-machine (U2M)

AuthMech=11;Auth_Flow=2. PWD não é obrigatório. O cache de tokens persistente é ativado por default. Defina EnableTokenCache=0 para desativá-lo ou defina TokenCachePassPhrase para usar uma senha ao criptografar o cache.

OAuth machine-to-machine (M2M)

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

Pass-through de tokens OAuth

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

access token pessoal do Databricks

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

Migrar da versão 2.x​

  1. Revise as limitações conhecidas dos recursos usados por seu aplicativo.
  2. Registre a versão 2.x instalada e faça backup dos DSNs, das strings de conexão e dos arquivos de configuração do driver.
  3. Instale o Driver ODBC OSS do Databricks.
  4. Reutilize seu DSN ou sua strings de conexão existente.
  5. Teste a criação de conexões, a descoberta de metadados, instruções preparadas, vinculação de parâmetros, cancelamento, recuperação de grandes resultados e fluxos de trabalho representativos de aplicativos.

O Databricks OSS ODBC Driver pode relatar nomes de tipos do Databricks mais específicos e precisão e escala decimais declaradas do que a versão 2.x. Validar aplicativos que comparam valores de metadados exatamente.

Para reverter após substituir uma instalação, reinstale o pacote 2.x necessário e restaure a configuração de backup.

Limitações conhecidas​

As seguintes limitações se aplicam enquanto o driver estiver em Beta:

  • O driver oferece suporte aos warehouse do Databricks SQL e do Lakehouse//RT. Ele não oferece suporte a compute para todos os fins.
  • O SQL é sempre enviado diretamente para o Databricks. O driver não executa a tradução de SQL-92 disponível na versão 2.x. UseNativeQuery é aceito para fins de compatibilidade, mas não altera o comportamento.
  • Não há suporte para a execução assíncrona por meio de SQL_ATTR_ASYNC_ENABLE e SQLCompleteAsync.
  • PUTAs operações , GET e REMOVE para arquivos em volumes do Unity Catalog não são compatíveis.
  • Parâmetros de entrada binários não são suportados.
  • Matrizes de parâmetros, incluindo pyodbc fast_executemany com valores de strings e Unicode, são suportadas, mas o driver envia uma solicitação de execução por linha.
  • Resultados grandes usam o Cloud Fetch automaticamente e não podem ser forçados a serem embutidos. A recuperação de resultados é compatível com os tipos de dados do Databricks SQL, exceto FILE e OBJECT. Valores complexos são retornados como texto.
  • HTTPS proxies support basic authentication, but not Kerberos or SPNEGO authentication.
  • A configuração de revogação de certificado e as chaves privadas TLS mútuas criptografadas não são compatíveis.
  • Algumas propriedades avançadas de 2.x não são compatíveis. O Driver Logs um aviso quando uma propriedade não é aplicada.