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.
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.
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:
No console AWS, acesse o serviço S3 .
Clique no bucket do S3 que você usa para o armazenamento raiz do seu workspace.
Abra a guia Gerenciamento e escolha Criar regra de ciclo de vida.
Escolha qualquer nome para o nome da regra do ciclo de vida.
Mantenha o campo prefixo vazio.
Em Ações da regra do ciclo de vida, selecione Excluir permanentemente versões não atuais de objetos.
Defina um valor em Dias após os objetos se tornarem não atuais. Recomendamos usar o valor 1 aqui.
Clique em Criar regra.
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 .