6 месяцев назад
История
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.
Конвейеры
0 успешных
0 с ошибкой