Pular para o conteúdo principal

Cliente ClickHouse

O cliente Java é uma biblioteca que implementa uma API própria, abstraindo os detalhes da comunicação de rede com o servidor ClickHouse. Atualmente, apenas a interface HTTP é compatível. A biblioteca fornece utilitários para trabalhar com diferentes formatos do ClickHouse e outras funções relacionadas. O cliente Java foi desenvolvido em 2015. Sua base de código ficou muito difícil de manter, a API é confusa e é difícil otimizá-la ainda mais. Por isso, ele foi refatorado em 2024 em um novo componente, client-v2. Ele tem uma API mais clara, uma base de código mais enxuta e melhorias de desempenho, além de melhor suporte aos formatos do ClickHouse (principalmente RowBinary e Native). O JDBC usará esse cliente em breve.

Tipos de dados compatíveis

Tipos de dados do ClickHouse
Suporte parcial
  • AggregateFunction — Apenas groupBitmap é compatível com leituras binárias diretas. Para outras funções de agregação (min, max, avg etc.), use combinadores -Merge na sua consulta (por exemplo, minMerge(), avgMerge()) para resolver o estado no lado do servidor. SELECT * FROM table ... não é compatível com colunas do tipo AggregateFunction.
Observações sobre tipos de dados
  • DecimalSET output_format_decimal_trailing_zeros=1 na versão 21.9+ para manter a consistência.
  • Enum — pode ser tratado tanto como string quanto como inteiro.
  • UInt64 — mapeado para long no client-v1.

Funcionalidades

Tabela de funcionalidades dos clientes: O driver JDBC herda as mesmas funcionalidades da implementação de cliente subjacente. Outras funcionalidades do JDBC estão listadas em sua página.

Compatibilidade

  • Todos os projetos neste repositório são testados com todas as versões LTS ativas do ClickHouse.
  • Política de suporte
  • Recomendamos atualizar o cliente continuamente para não perder correções de segurança nem novas melhorias.
  • Se você tiver algum problema com a migração para a API v2, crie uma issue e responderemos!

Logging

Nosso cliente Java usa SLF4J para logging. Você pode usar qualquer framework de logging compatível com SLF4J, como Logback ou Log4j. Por exemplo, se você estiver usando Maven, poderá adicionar a seguinte dependência ao arquivo pom.xml:
pom.xml

Configurando o logging

Isso depende do framework de logging que você está usando. Por exemplo, se estiver usando Logback, você pode configurar o logging em um arquivo chamado logback.xml:
logback.xml
Changelog
Última modificação em 2 de julho de 2026