Passer au contenu principal

ClickHouse client

Le client Java est une bibliothèque qui implémente une API propre et masque les détails des communications réseau avec le serveur ClickHouse. À ce jour, seule l’interface HTTP est prise en charge. La bibliothèque fournit des utilitaires pour manipuler différents formats ClickHouse ainsi que d’autres fonctions associées. Le client Java a été développé dès 2015. Sa base de code est devenue très difficile à maintenir, son API est déroutante, et il est difficile de l’optimiser davantage. Nous l’avons donc remanié en 2024 sous la forme d’un nouveau composant, client-v2. Il offre une API claire, une base de code plus légère, de meilleures performances et une meilleure prise en charge des formats ClickHouse (principalement RowBinary et Native). JDBC utilisera ce client dans un avenir proche.

Types de données pris en charge

Types de données ClickHouse
Prise en charge partielle
  • AggregateFunction — Seul groupBitmap est pris en charge pour les lectures binaires directes. Pour les autres fonctions d’agrégation (min, max, avg, etc.), utilisez les combinateurs -Merge dans votre requête (par exemple, minMerge(), avgMerge()) pour finaliser l’état côté serveur. SELECT * FROM table ... n’est pas pris en charge pour les colonnes de type AggregateFunction.
Remarques sur les types de données
  • DecimalSET output_format_decimal_trailing_zeros=1 à partir de la version 21.9+ pour plus de cohérence.
  • Enum — peut être traité à la fois comme une chaîne et comme un entier.
  • UInt64 — mappé sur long dans client-v1.

Fonctionnalités

Tableau des fonctionnalités des clients : Le pilote JDBC hérite des mêmes fonctionnalités que l’implémentation client sous-jacente. Les autres fonctionnalités de JDBC sont listées sur sa page.

Compatibilité

  • Tous les projets de ce dépôt sont testés avec toutes les versions LTS actives de ClickHouse.
  • Politique de prise en charge
  • Nous recommandons de mettre régulièrement à jour le client afin de ne pas manquer les correctifs de sécurité et les nouvelles améliorations.
  • Si vous rencontrez un problème lors de la migration vers l’API v2, créez une issue et nous vous répondrons !

Journalisation

Notre client Java utilise SLF4J pour la journalisation. Vous pouvez utiliser n’importe quel framework de journalisation compatible avec SLF4J, comme Logback ou Log4j. Par exemple, si vous utilisez Maven, vous pouvez ajouter la dépendance suivante à votre fichier pom.xml :
pom.xml

Configurer la journalisation

Cela dépend du framework de journalisation que vous utilisez. Par exemple, si vous utilisez Logback, vous pouvez configurer la journalisation dans un fichier nommé logback.xml :
logback.xml
Journal des modifications
Dernière modification le 2 juillet 2026