メインコンテンツへスキップ

ClickHouse client

Java クライアントは、ClickHouse server とのネットワーク通信の詳細を抽象化する独自の API を実装したライブラリです。現時点でサポートされているのは HTTP インターフェイスのみです。このライブラリには、さまざまな ClickHouse フォーマットの操作や、そのほかの関連機能のためのユーティリティが用意されています。 Java クライアントは 2015 年とかなり早い時期に開発されましたが、コードベースの保守は非常に難しくなり、API もわかりにくく、これ以上の最適化も困難になっていました。そのため、2024 年にこれを新しいコンポーネント client-v2 としてリファクタリングしました。これにより、API はより明確になり、コードベースはより軽量になり、パフォーマンスも改善され、ClickHouse フォーマット (特に RowBinary と Native) のサポートも強化されました。JDBC も近いうちにこのクライアントを使用する予定です。

サポートされているデータ型

ClickHouse のデータ型
一部サポート
  • AggregateFunction — バイナリの直接読み取りでサポートされるのは groupBitmap のみです。その他の集約関数 (minmaxavg など) では、状態をサーバー側で解決するため、クエリで -Merge combinators (例: minMerge(), avgMerge()) を使用してください。AggregateFunction 型のカラムに対する SELECT * FROM table ... はサポートされていません。
データ型に関する注記
  • Decimal — 一貫性を保つため、21.9 以降では SET output_format_decimal_trailing_zeros=1 を使用します。
  • Enum — 文字列としても整数としても扱えます。
  • UInt64 — client-v1 では long にマッピングされます。

機能

クライアントの機能一覧: JDBC ドライバは、基盤となるクライアント実装と同じ機能を継承します。その他の JDBC 機能は、ページに記載されています。

互換性

ログ

Java 言語クライアントでは、ログに SLF4J を使用しています。LogbackLog4j など、SLF4J 互換の任意のログフレームワークを使用できます。 たとえば、Maven を使用している場合は、pom.xml ファイルに次の依存関係を追加できます。
pom.xml

ログの設定

これは、使用しているロギングフレームワークによって異なります。たとえば、Logback を使用している場合は、logback.xml という名前のファイルでログを設定できます。
logback.xml
変更履歴
最終更新日 2026年6月19日