JDBC Driver | ClickHouse Documentation

主要的 ClickHouse JDBC Driver 包含以下 3 项:

Official Driver


ClickHouse/clickhouse-jdbc

ClickHouse 官方维护的 JDBC Driver,仅支持最小可用功能子集,仅支持 http 协议。

使用示例

ClickHouseDataSource dataSource = new ClickHouseDataSource("jdbc:clickhouse://172.17.0.3:8123/default");
ClickHouseConnection connection = dataSource.getConnection();
ClickHouseStatement stat = conn.createStatement();

String ddl = "CREATE TABLE IF NOT EXISTS emp_test\\n" +
                "(\\n" +
                "    emp_id     UInt16,\\n" +
                "    name       String,\\n" +
                "    work_place String,\\n" +
                "    age        UInt8,\\n" +
                "    depart     String,\\n" +
                "    salary     Decimal(9, 2)\\n" +
                ") ENGINE = MergeTree()\\n" +
                "      PARTITION BY work_place\\n" +
                "      ORDER BY emp_id";
// 建表 DDL
stat.execute(ddl);

// 数据插入
stat.executeUpdate("INSERT INTO emp_test VALUES (1, 'tom', '上海', 25, '技术部', 20000), (2, 'jack', '上海', 26, '人事部', 10000)");

// 数据查询
ResultSet resultSet = stat.executeQuery("SELECT * FROM emp_test");
while (resultSet.next()) {
		String empId = resultSet.getString(1);
		String name = resultSet.getString(2);
    String workPlace = resultSet.getString(3);
    int age = resultSet.getInt(4);
    String depart = resultSet.getString(5);
    double salary = resultSet.getDouble(6);
}

stat.close();
conn.close();

ClickHouse-Native-JDBC


housepower/ClickHouse-Native-JDBC

一个基于原生(TCP)协议实现的 JDBC 驱动,用来访问 ClickHouse ,同时也支持与 Apache Spark 的集成。