Configurações de capacidade do driver para o driver JDBC do Databricks

Este artigo descreve como definir configurações especiais e avançadas de capacidade de driver para o Databricks JDBC Driver.

Este artigo complementa as informações nos seguintes artigos do Databricks JDBC Driver:

Para configurar uma conexão do Databricks para o driver JDBC do Databricks, você deve combinar as configurações de recursos compute , as configurações de autenticação e qualquer uma das seguintes configurações de capacidade do driver em uma URL de conexão JDBC ou uma coleção programática de propriedades de conexão JDBC. O uso de um URL de conexão ou de uma coleção de propriedades de conexão dependerá dos requisitos do aplicativo, ferramenta, cliente, SDK ou API de destino. Para obter exemplos de URLs de conexão JDBC e coleções programáticas de propriedades de conexão JDBC, consulte Configurações de autenticação para o driver JDBC do Databricks.

O driver JDBC da Databricks fornece as seguintes configurações especiais e avançadas de recursos do driver.

Suporte a consulta do ANSI SQL-92 no JDBC

Os drivers JDBC legacy do Spark aceitam consultas SQL no dialeto ANSI SQL-92 e convertem as consultas para o dialeto Databricks SQL antes de enviá-las ao servidor. No entanto, se seu aplicativo gera Databricks SQL diretamente ou seu aplicativo usa qualquer sintaxe SQL padrão não-ANSI SQL-92 específica para Databricks, Databricks recomenda que você defina UseNativeQuery=1 como uma configuração de conexão. Com essa configuração, o driver passa as consultas SQL verbatim para Databricks.

Catálogo e esquema padrão

Para especificar o catálogo e esquema padrão, adicione ConnCatalog=<catalog-name>;ConnSchema=<schema-name> na URL de conexão JDBC.

Extrair resultados de consulta grandes no JDBC

Para obter o melhor desempenho ao extrair resultados de consultas extensas, utilize a versão mais recente do driver JDBC, que incorpora as seguintes otimizações.

Serialização de setas no JDBC

O driver JDBC versão 2.6.16 e acima suporta um formato de serialização de resultados de consulta otimizado que usa Apache Arrow.

Cloud Fetch no JDBC

O driver JDBC versão 2.6.19e acima oferece suporte ao Cloud Fetch, um recurso que busca resultados de consultas por meio do armazenamento em nuvem configurado em sua implantação do Databricks. Para usar o Cloud Fetch para extrair resultados de consulta, use Databricks Runtime 8.3 ouacima.

Os resultados da consulta são carregados em um local de armazenamento DBFS interno como arquivos serializados em seta de até 20 MB. Quando o driver envia solicitações de busca após a conclusão da consulta, o Databricks gera e retorna URLs pré-assinadas para os arquivos carregados. Em seguida, o driver JDBC usa as URLs para baixar os resultados diretamente do DBFS.

O Cloud Fetch é usado apenas para resultados de consulta maiores que 1 MB. Resultados menores são recuperados diretamente do Databricks.

O Databricks coleta automaticamente os arquivos acumulados que são marcados para exclusão após 24 horas. Esses arquivos marcados são completamente excluídos após mais 24 horas.

clouds Fetch está disponível apenas no workspace E2. Além disso, os buckets correspondentes do Amazon S3 não devem ter o versionamento habilitado. Se o controle de versão estiver ativado, você ainda poderá ativar a busca clouds seguindo as instruções em Configurações avançadas.

Para saber mais sobre a arquitetura Cloud Fetch, consulte Como alcançamos conectividade de alta largura de banda com ferramentas de BI.

Configurações avançadas

Se você tiver ativado o controle de versão do bucket S3 no DBFS root, o Databricks não poderá coletar versões mais antigas dos resultados de consulta carregados. Recomendamos definir primeiro uma política de ciclo de vida do S3 que elimine as versões mais antigas dos resultados de consulta carregados.

Para definir uma política de ciclo de vida, siga as etapas abaixo:

  1. No console AWS, acesse o serviço S3 .

  2. Clique no bucket do S3 que você usa para o armazenamento raiz do seu workspace.

  3. Abra a guia Gerenciamento e escolha Criar regra de ciclo de vida.

  4. Escolha qualquer nome para o nome da regra do ciclo de vida.

  5. Mantenha o campo prefixo vazio.

  6. Em Ações da regra do ciclo de vida, selecione Excluir permanentemente versões não atuais de objetos.

  7. Defina um valor em Dias após os objetos se tornarem não atuais. Recomendamos usar o valor 1 aqui.

  8. Clique em Criar regra.

Política de Ciclo de Vida

Ativar o registro

Para ativar o registro no driver JDBC, defina a propriedade LogLevel de 1 para log somente eventos graves até 6 para log toda a atividade do driver. Defina a propriedade LogPath como o caminho completo para a pasta onde o senhor deseja salvar os arquivos log.

Para obter mais informações, consulte a seção Configuring Logging no guia do driverDatabricks JDBC .