English | 简体中文
这是一个基于原生(TCP)协议实现的 JDBC 驱动,用于访问 ClickHouse ,同时也支持与 Apache Spark 的集成。
我们欢迎大家以各种形式参与项目贡献,可以是报告问题、完善文档、修复 bug、添加测试用例、实现新特性等。请参考 贡献指南。
本项目受 JetBrains Open Source License 2020-2021 赞助支持.
- Java 8/11.
注意: 我们只基于 Java LTS 版本做测试。
与 yandex/clickhouse-jdbc 驱动的不同点
- 写入时,数据按照列式格式组织并压缩
- 基于 TCP 协议实现,比 HTTP 协议更高效,参考 性能测试报告。
- 不支持复杂表达式语句的批量写入,如:
INSERT INTO test_table VALUES(toDate(123456))
,但查询不受影响。 - 不支持写入 non-values 格式,如
TSV
。 - 不支持
ZSTD
压缩。
- Gradle
// (推荐) shaded 版本,自 2.3-stable 起可用
compile "com.github.housepower:clickhouse-native-jdbc-shaded:${clickhouse_native_jdbc_version}"
// 常规版本
compile "com.github.housepower:clickhouse-native-jdbc:${clickhouse_native_jdbc_version}"
- Maven
<!-- (推荐) shaded 版本,自 2.3-stable 起可用 -->
<dependency>
<groupId>com.github.housepower</groupId>
<artifactId>clickhouse-native-jdbc-shaded</artifactId>
<version>${clickhouse-native-jdbc.version}</version>
</dependency>
<!-- 常规版本 -->
<dependency>
<groupId>com.github.housepower</groupId>
<artifactId>clickhouse-native-jdbc</artifactId>
<version>${clickhouse-native-jdbc.version}</version>
</dependency>
- Java 8, Scala 2.11/2.12, Spark 2.4.x
- 或者 Java 8/11, Scala 2.12, Spark 3.0/3.1
Spark 3.2 推荐使用 Spark ClickHouse Connector
注意: Spark 2.3.x(EOL) 理论上也支持。但我们只对 Java 8 和 Java 11 做测试,Spark 自 3.0.0 起官方支持 Java 11。
- Gradle
// 自 2.4.0 起可用
compile "com.github.housepower:clickhouse-integration-spark_2.11:${clickhouse_native_jdbc_version}"
- Maven
<!-- 自 2.4.0 起可用 -->
<dependency>
<groupId>com.github.housepower</groupId>
<artifactId>clickhouse-integration-spark_2.11</artifactId>
<version>${clickhouse-native-jdbc.version}</version>
</dependency>
Apache License (Version 2.0)。详情参考 LICENSE.