ClickHouse Native JDBC
English | 简体中文
Home Page | GitHub | Gitee
A Native JDBC library for accessing ClickHouse in Java, also provide a library for integrating with Apache Spark.
CONTRIBUTE
We welcome anyone that wants to help out in any way, whether that includes reporting problems, helping with documentations, or contributing code changes to fix bugs, add tests, or implement new features. Please follow Contributing Guide.
Supported by JetBrains Open Source License 2020-2021.
JDBC Driver
Requirements
- Java 8/11.
Notes: We only do test with Java LTS versions.
Differences from yandex/clickhouse-jdbc
- Data is organized and compressed by columns.
- Implemented in the TCP Protocol, with higher performance than HTTP, here is the benchmark report.
Limitations
- Not support insert complex values expression, like
INSERT INTO test_table VALUES(toDate(123456))
, but query is ok. - Not support insert non-values format, like
TSV
. - Not support more compression method, like
ZSTD
.
Import
- Gradle
// (recommended) shaded version, available since 2.3-stable
compile "com.github.housepower:clickhouse-native-jdbc-shaded:${clickhouse_native_jdbc_version}"
// normal version
compile "com.github.housepower:clickhouse-native-jdbc:${clickhouse_native_jdbc_version}"
- Maven
<!-- (recommended) shaded version, available since 2.3-stable -->
<dependency>
<groupId>com.github.housepower</groupId>
<artifactId>clickhouse-native-jdbc-shaded</artifactId>
<version>${clickhouse-native-jdbc.version}</version>
</dependency>
<!-- normal version -->
<dependency>
<groupId>com.github.housepower</groupId>
<artifactId>clickhouse-native-jdbc</artifactId>
<version>${clickhouse-native-jdbc.version}</version>
</dependency>
Integration with Spark
Requirements
- Java 8, Scala 2.11/2.12, Spark 2.4.x
- Or Java 8/11, Scala 2.12, Spark 3.0.x
Notes: Spark 2.3.x(EOL) should also work fine. Actually we do test on both Java 8 and Java 11, but Spark official support on Java 11 since 3.0.0.
Import
- Gradle
// available since 2.4.0
compile "com.github.housepower:clickhouse-integration-spark_2.11:${clickhouse_native_jdbc_version}"
- Maven
<!-- available since 2.4.0 -->
<dependency>
<groupId>com.github.housepower</groupId>
<artifactId>clickhouse-integration-spark_2.11</artifactId>
<version>${clickhouse-native-jdbc.version}</version>
</dependency>
License
This project is distributed under the terms of the Apache License (Version 2.0). See LICENSE for details.