1 год назад
История
README.md
ClickHouse Java Libraries
Java libraries for connecting to ClickHouse and processing data in various formats. Java client is async, lightweight, and low-overhead library for ClickHouse; while JDBC and R2DBC drivers are built on top of the Java client with more dependencies and features. Java 8 or higher is required to use the libraries. In addition, please use ClickHouse 20.7+ or any of active releases.

Features
| Category | Feature | Supported | Remark |
|---|---|---|---|
| API | JDBC | :white_check_mark: | |
| R2DBC | :white_check_mark: | supported since 0.4.0 | |
| Protocol | HTTP | :white_check_mark: | recommended, defaults to java.net.HttpURLConnection and it can be changed to java.net.http.HttpClient(unstable) or Apache HTTP Client 5. Note that the latter was added in 0.4.0 to support custom socket options. |
| gRPC | :white_check_mark: | :warning: experimental, works with 22.3+, known to has issue with lz4 compression and may cause high memory usage on server. Planed to be removed from version 0.7.0 | |
| TCP/Native | :x: | clickhouse-cli-client(wrapper of ClickHouse native command-line client) was added in 0.3.2-patch10. |
|
| Local/File | :x: | clickhouse-cli-client will be enhanced to support clickhouse-local |
|
| Compatibility | Server < 20.7 | :x: | use 0.3.1-patch(or 0.2.6 if you’re stuck with JDK 7) |
| Server >= 20.7 | :white_check_mark: | use 0.3.2 or above. All active releases are supported. | |
| Compression | lz4 | :white_check_mark: | default |
| zstd | :white_check_mark: | supported since 0.4.0, works with ClickHouse 22.10+ | |
| Data Format | RowBinary | :white_check_mark: | RowBinaryWithNamesAndTypes for query and RowBinary for insertion |
| TabSeparated | :white_check_mark: | :warning: does not support as many data types as RowBinary | |
| Data Type | AggregateFunction | :white_check_mark: | :warning: does not support SELECT * FROM table ... |
| Array(*) | :white_check_mark: | ||
| Bool | :white_check_mark: | ||
| Date* | :white_check_mark: | ||
| DateTime* | :white_check_mark: | ||
| Decimal* | :white_check_mark: | SET output_format_decimal_trailing_zeros=1 in 21.9+ for consistency |
|
| Enum* | :white_check_mark: | can be treated as both string and integer | |
| Geo Types | :white_check_mark: | Point, Ring, Polygon, and MultiPolygon | |
| Int*, UInt* | :white_check_mark: | UInt64 is mapped to long |
|
| IPv* | :white_check_mark: | ||
| Map(*) | :white_check_mark: | ||
| Nested(*) | :white_check_mark: | :warning: broken before 0.4.1 | |
| Object(‘JSON’) | :white_check_mark: | supported since 0.3.2-patch8 | |
| SimpleAggregateFunction | :white_check_mark: | ||
| *String | :white_check_mark: | :warning: requires use_binary_string=true for binary string support since v0.4.0 |
|
| Tuple(*) | :white_check_mark: | ||
| UUID | :white_check_mark: | ||
| High Availability | Load Balancing | :white_check_mark: | supported since 0.3.2-patch10 |
| Failover | :white_check_mark: | supported since 0.3.2-patch10 | |
| Transaction | Transaction | :white_check_mark: | supported since 0.3.2-patch11, use ClickHouse 22.7+ for native implicit transaction support |
| Savepoint | :x: | ||
| XAConnection | :x: | ||
| Misc. | Centralized Configuration | :white_check_mark: | supported since 0.4.2, limited to JDBC driver and requires custom server setting custom_jdbc_config for all connected JDBC clients - #1290 |
| INFILE & OUTFILE | :white_check_mark: | supported since 0.4.2, limited to JDBC driver and requires localFile option - #1291 |
|
| Implicit Type Conversion | :white_check_mark: | String/number to Date/Time/Timestamp and more | |
| Object mapping | :white_check_mark: | supported since 0.4.6, slow and limited to simple data types |
Planed to be removed
| Feature | Version | Remark |
|---|---|---|
| Clickhouse ClI Client package | 0.7.0 | Use clickhouse-client directly instead |
| ClickHouse GRPC Client package | 0.7.0 | Please use the clickhouse http protocol instead |
Usage
The library can be downloaded from both Github Releases and Maven Central. Development snapshots(aka. nightly build) are available on Sonatype OSSRH.
<repositories>
<repository>
<id>ossrh</id>
<name>Sonatype OSSRH</name>
<url>https://s01.oss.sonatype.org/content/repositories/snapshots/</url>
</repository>
</repositories>
Java Client
See examples and the docs on the ClickHouse website.
JDBC Driver
See examples and the docs on the ClickHouse website.
Contributing
Check out our contributing guide.
Описание
JDBC driver for ClickHouse
Конвейеры
0
успешных
0
с ошибкой