ClickHouse 安裝 和 測試環(huán)境

docker 安裝

  1. 拉取ClickHouse-server鏡像:
    使用以下命令從Docker Hub上拉取ClickHouse-server鏡像:

    docker pull yandex/clickhouse-server:21.12.4.1

  2. 運(yùn)行ClickHouse容器:
    使用以下命令運(yùn)行ClickHouse容器:

    docker run -d --rm --name=clickhouse yandex/clickhouse-server:21.12.4.1

    該命令會在后臺運(yùn)行ClickHouse容器,并將其命名為“clickhouse”。您可以通過運(yùn)行“docker ps”命令來檢查容器的狀態(tài)。

  3. 配置ClickHouse:
    在運(yùn)行容器之后,您需要配置ClickHouse數(shù)據(jù)庫。首先,在宿主機(jī)上創(chuàng)建目錄,用于存放配置文件、數(shù)據(jù)和日志文件。例如,您可以運(yùn)行以下命令來創(chuàng)建目錄:

mkdir -p /data/udata/clickhouse01/conf/data/udata/clickhouse01/data/data/udata/clickhouse01/log

接下來,將容器內(nèi)的配置文件拷貝到宿主機(jī)上。使用以下命令將配置文件“users.xml”從容器拷貝到宿主機(jī)的指定目錄:

docker cp clickhouse:/etc/clickhouse-server/users.xml /data/udata/clickhouse01/conf/users.xml

  1. 啟動ClickHouse服務(wù):
    進(jìn)入ClickHouse容器,并啟動服務(wù)。運(yùn)行以下命令:
    docker exec -it clickhouse /bin/bash
在容器內(nèi)部,進(jìn)入“/etc/clickhouse-server”目錄,并啟動服務(wù):
  1. 測試ClickHouse:
    您可以使用客戶端工具連接到剛剛安裝和配置的ClickHouse數(shù)據(jù)庫,并進(jìn)行測試。例如,使用以下命令連接到數(shù)據(jù)庫:

    clickhouse-client --host localhost --port 9000 --user default --password your_password --database test --format_csv_delimiter=',' --format_csv_line_term=\n --format_csv_field_term='"' --format_csv_skip_empty_lines=1 --format_csv_allow_quotes=1 --format_csv_quotes_as_empty=1 --format_csv_null='NULL' --format_csv_drop_quotas=1 --format_csv_double_quotes='"' --format_csv_max_field_width=9999999999999999999999999999999999999999999999999999999999999 --format_csv_max_record_width=10000000000000000000000000000000000000000000000000000000 --query='SELECT * FROM system.parts' && echo 'Successfully connected to ClickHouse database.' || echo 'Failed to connect to ClickHouse database.'

docker pull clickhouse/clickhouse-server

docker run -d --name clickhouse-server
-p 8123:8123 -p 9000:9000
clickhouse/clickhouse-server

啟動ClickHouse容器

docker run -d
--name clickhouse-server
--ulimit nofile=262144:262144
-p 8123:8123
-p 9000:9000
-p 9009:9009
-v /data/clickhouse/data:/var/lib/clickhouse
-v /data/clickhouse/log:/var/log/clickhouse-server
clickhouse/clickhouse-server:latest

進(jìn)入容器執(zhí)行命令

docker exec -it clickhouse-server clickhouse-client

Exception: Could not determine time zone from TZ variable value: 'UTC': filesystem error: in weakly_canonical: Operation not permitted ["/usr/share/zoneinfo/"], Stack trace (when copying this message, always include the lines below):

完整 Docker run 命令(修復(fù)時區(qū)+權(quán)限問題,支持持久化數(shù)據(jù))

docker run -d \
  --name clickhouse-server \
  --privileged=true \
  -p 8123:8123 \
  -p 9000:9000 \
  -e TZ=UTC \
  -v /etc/localtime:/etc/localtime:ro \
  -v /usr/share/zoneinfo:/usr/share/zoneinfo:ro \
  -v /Users/mac/Desktop/tools/docker/clickhouse/clickhouse-data:/var/lib/clickhouse \
  -v /Users/mac/Desktop/tools/docker/clickhouse/clickhouse-logs:/var/log/clickhouse-server \
  --ulimit nofile=262144:262144 \
  clickhouse/clickhouse-server:latest
image.png

測試


image.png
image.png

進(jìn)入docker 測試是否成功


image.png

只修改了/etc/clickhouse-server user.xml 把密碼寫進(jìn)去。重啟即可。

官網(wǎng)地址:
https://clickhouse.com/docs/zh/getting-started/quick-start/cloud

java demo

簡單連接 錯誤信息為:

LZ4 is not supported. Please disable compression(compress=0), modify the algorithm(e.g. compress_algorithm=gzip), or add the missing libraries to the classpath., server ClickHouseNode [uri=http://localhost:8123/default]@-1259364225
<dependency>
            <groupId>com.clickhouse</groupId>
            <artifactId>clickhouse-jdbc</artifactId>
            <version>0.4.6</version>
            <!-- 可選:排除不必要的依賴,減小包體積 -->
            <exclusions>
                <exclusion>
                    <groupId>*</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <!-- LZ4 核心依賴(必須) -->
        <dependency>
            <groupId>org.lz4</groupId>
            <artifactId>lz4-java</artifactId>
            <version>1.8.0</version>
        </dependency>

        <!-- ZSTD 壓縮依賴(可選,ClickHouse 也支持該算法) -->
        <dependency>
            <groupId>com.github.luben</groupId>
            <artifactId>zstd-jni</artifactId>
            <version>1.5.5-1</version>
        </dependency>

package com.spring.clickhouse.demo;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

/**
 * 原生 Java 連接 ClickHouse 工具類及示例
 */
public class ClickHouseNativeDemo {
    // ClickHouse 連接配置(按需修改)
    private static final String CLICKHOUSE_URL = "jdbc:clickhouse://localhost:8123/default?compress=0"; // 8123 HTTP 端口(推薦)
    // 若使用 9000 TCP 端口,URL 格式:jdbc:clickhouse://localhost:9000/default
    private static final String CLICKHOUSE_USER = "default";
    private static final String CLICKHOUSE_PASSWORD = "ClickHouse@123"; // 無密碼則設(shè)為 ""

    /**
     * 獲取 ClickHouse 數(shù)據(jù)庫連接
     */
    public static Connection getConnection() throws SQLException {
        // 加載驅(qū)動(新版 JDBC 可自動加載,手動加載兼容舊環(huán)境)
        try {
            Class.forName("com.clickhouse.jdbc.ClickHouseDriver");
        } catch (ClassNotFoundException e) {
            throw new RuntimeException("加載 ClickHouse 驅(qū)動失敗", e);
        }

        // 建立連接(有密碼/無密碼適配)
        if ("".equals(CLICKHOUSE_PASSWORD) || CLICKHOUSE_PASSWORD == null) {
            return DriverManager.getConnection(CLICKHOUSE_URL, CLICKHOUSE_USER, "");
        } else {
            return DriverManager.getConnection(CLICKHOUSE_URL, CLICKHOUSE_USER, CLICKHOUSE_PASSWORD);
        }
    }

    /**
     * 示例 1:查詢數(shù)據(jù)(SHOW DATABASES 或查詢表數(shù)據(jù))
     */
    public static List<String> queryDatabases() {
        List<String> databaseList = new ArrayList<>();
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;

        try {
            // 1. 獲取連接
            conn = getConnection();
            // 2. 創(chuàng)建 Statement
            stmt = conn.createStatement();
            // 3. 執(zhí)行查詢 SQL
            String sql = "SHOW DATABASES;";
            rs = stmt.executeQuery(sql);
            // 4. 處理結(jié)果集
            while (rs.next()) {
                String databaseName = rs.getString(1); // 按列索引獲取(或按列名 rs.getString("name"))
                databaseList.add(databaseName);
            }
            System.out.println("查詢數(shù)據(jù)庫成功,共獲取 " + databaseList.size() + " 個數(shù)據(jù)庫");
        } catch (SQLException e) {
            throw new RuntimeException("查詢 ClickHouse 數(shù)據(jù)失敗" + e.getMessage(), e);
        } finally {
            // 5. 關(guān)閉資源(逆序關(guān)閉)
            try {
                if (rs != null) rs.close();
                if (stmt != null) stmt.close();
                if (conn != null) conn.close();
            } catch (SQLException e) {
                System.err.println("關(guān)閉 ClickHouse 連接資源失敗");
                e.printStackTrace();
            }
        }
        return databaseList;
    }

    /**
     * 示例 2:插入數(shù)據(jù)(先創(chuàng)建測試表,再插入數(shù)據(jù))
     */
    public static void insertData() {
        Connection conn = null;
        PreparedStatement pstmt = null;

        try {
            // 1. 獲取連接
            conn = getConnection();
            conn.setAutoCommit(false); // 關(guān)閉自動提交,支持事務(wù)

            // 2. 先創(chuàng)建測試表(若不存在)
            String createTableSql = "CREATE TABLE IF NOT EXISTS test_user (" +
                    "id Int32," +
                    "name String," +
                    "age Int32," +
                    "create_time DateTime DEFAULT now()" +
                    ") ENGINE = MergeTree() ORDER BY id;";
            pstmt = conn.prepareStatement(createTableSql);
            pstmt.executeUpdate();
            conn.commit();
            System.out.println("創(chuàng)建/驗證 test_user 表成功");

            // 3. 執(zhí)行插入 SQL(使用 PreparedStatement 防止 SQL 注入)
            String insertSql = "INSERT INTO test_user (id, name, age) VALUES (?, ?, ?);";
            pstmt = conn.prepareStatement(insertSql);

            // 批量插入 3 條數(shù)據(jù)
            for (int i = 1; i <= 3; i++) {
                pstmt.setInt(1, i);
                pstmt.setString(2, "User" + i);
                pstmt.setInt(3, 20 + i);
                pstmt.addBatch(); // 添加到批處理
            }

            // 4. 執(zhí)行批處理并提交事務(wù)
            pstmt.executeBatch();
            conn.commit();
            System.out.println("批量插入數(shù)據(jù)到 test_user 表成功");

        } catch (SQLException e) {
            // 事務(wù)回滾
            try {
                if (conn != null) conn.rollback();
            } catch (SQLException ex) {
                ex.printStackTrace();
            }
            throw new RuntimeException("插入 ClickHouse 數(shù)據(jù)失敗", e);
        } finally {
            // 5. 關(guān)閉資源
            try {
                if (pstmt != null) pstmt.close();
                if (conn != null) conn.close();
            } catch (SQLException e) {
                System.err.println("關(guān)閉 ClickHouse 連接資源失敗");
                e.printStackTrace();
            }
        }
    }

    // 主方法測試
    public static void main(String[] args) {
        // 測試查詢數(shù)據(jù)庫
        List<String> databases = queryDatabases();
        databases.forEach(System.out::println);

        // 測試插入數(shù)據(jù)
        insertData();
    }
}

結(jié)果
/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/bin/java -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:55471,suspend=y,server=n -javaagent:/Users/mac/Library/Caches/JetBrains/IntelliJIdea2021.3/captureAgent/debugger-agent.jar=file:/private/var/folders/pv/1ypkqy1d4wd16p7htkhr6w3r0000gn/T/capture.props -Dfile.encoding=UTF-8 -classpath /Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/charsets.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/ext/cldrdata.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/ext/dnsns.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/ext/jaccess.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/ext/jfxrt.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/ext/localedata.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/ext/nashorn.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/ext/sunec.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/ext/zipfs.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/jce.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/jfr.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/jfxswt.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/jsse.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/management-agent.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/resources.jar:/Users/mac/Library/Java/JavaVirtualMachines/corretto-1.8.0_412/Contents/Home/jre/lib/rt.jar:/Users/mac/Documents/project/spring-study-sgg/spring-boot-data/spring-boot-clickhouse/target/classes:/Users/mac/.m2/repository/org/springframework/boot/spring-boot-starter-thymeleaf/2.7.0/spring-boot-starter-thymeleaf-2.7.0.jar:/Users/mac/.m2/repository/org/springframework/boot/spring-boot-starter/2.7.0/spring-boot-starter-2.7.0.jar:/Users/mac/.m2/repository/org/springframework/boot/spring-boot-starter-logging/2.7.0/spring-boot-starter-logging-2.7.0.jar:/Users/mac/.m2/repository/ch/qos/logback/logback-classic/1.2.11/logback-classic-1.2.11.jar:/Users/mac/.m2/repository/ch/qos/logback/logback-core/1.2.11/logback-core-1.2.11.jar:/Users/mac/.m2/repository/org/apache/logging/log4j/log4j-to-slf4j/2.17.2/log4j-to-slf4j-2.17.2.jar:/Users/mac/.m2/repository/org/apache/logging/log4j/log4j-api/2.17.2/log4j-api-2.17.2.jar:/Users/mac/.m2/repository/org/slf4j/jul-to-slf4j/1.7.36/jul-to-slf4j-1.7.36.jar:/Users/mac/.m2/repository/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5.jar:/Users/mac/.m2/repository/org/yaml/snakeyaml/1.30/snakeyaml-1.30.jar:/Users/mac/.m2/repository/org/thymeleaf/thymeleaf-spring5/3.0.15.RELEASE/thymeleaf-spring5-3.0.15.RELEASE.jar:/Users/mac/.m2/repository/org/thymeleaf/thymeleaf/3.0.15.RELEASE/thymeleaf-3.0.15.RELEASE.jar:/Users/mac/.m2/repository/org/attoparser/attoparser/2.0.5.RELEASE/attoparser-2.0.5.RELEASE.jar:/Users/mac/.m2/repository/org/unbescape/unbescape/1.1.6.RELEASE/unbescape-1.1.6.RELEASE.jar:/Users/mac/.m2/repository/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar:/Users/mac/.m2/repository/org/thymeleaf/extras/thymeleaf-extras-java8time/3.0.4.RELEASE/thymeleaf-extras-java8time-3.0.4.RELEASE.jar:/Users/mac/.m2/repository/org/springframework/boot/spring-boot-starter-web/2.7.0/spring-boot-starter-web-2.7.0.jar:/Users/mac/.m2/repository/org/springframework/boot/spring-boot-starter-json/2.7.0/spring-boot-starter-json-2.7.0.jar:/Users/mac/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.13.4.2/jackson-databind-2.13.4.2.jar:/Users/mac/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.13.4/jackson-annotations-2.13.4.jar:/Users/mac/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.13.4/jackson-core-2.13.4.jar:/Users/mac/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.13.4/jackson-datatype-jdk8-2.13.4.jar:/Users/mac/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.13.4/jackson-datatype-jsr310-2.13.4.jar:/Users/mac/.m2/repository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.13.4/jackson-module-parameter-names-2.13.4.jar:/Users/mac/.m2/repository/org/springframework/boot/spring-boot-starter-tomcat/2.7.0/spring-boot-starter-tomcat-2.7.0.jar:/Users/mac/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/9.0.63/tomcat-embed-core-9.0.63.jar:/Users/mac/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/9.0.63/tomcat-embed-el-9.0.63.jar:/Users/mac/.m2/repository/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.63/tomcat-embed-websocket-9.0.63.jar:/Users/mac/.m2/repository/org/springframework/spring-web/5.3.23/spring-web-5.3.23.jar:/Users/mac/.m2/repository/org/springframework/spring-beans/5.3.23/spring-beans-5.3.23.jar:/Users/mac/.m2/repository/org/springframework/spring-webmvc/5.3.23/spring-webmvc-5.3.23.jar:/Users/mac/.m2/repository/org/springframework/spring-aop/5.3.23/spring-aop-5.3.23.jar:/Users/mac/.m2/repository/org/springframework/spring-context/5.3.23/spring-context-5.3.23.jar:/Users/mac/.m2/repository/org/springframework/spring-expression/5.3.23/spring-expression-5.3.23.jar:/Users/mac/.m2/repository/org/springframework/boot/spring-boot-devtools/2.7.0/spring-boot-devtools-2.7.0.jar:/Users/mac/.m2/repository/org/springframework/boot/spring-boot/2.7.0/spring-boot-2.7.0.jar:/Users/mac/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/2.7.0/spring-boot-autoconfigure-2.7.0.jar:/Users/mac/.m2/repository/org/projectlombok/lombok/1.18.24/lombok-1.18.24.jar:/Users/mac/.m2/repository/org/springframework/spring-core/5.3.23/spring-core-5.3.23.jar:/Users/mac/.m2/repository/org/springframework/spring-jcl/5.3.23/spring-jcl-5.3.23.jar:/Users/mac/.m2/repository/com/baomidou/mybatis-plus-boot-starter/3.5.0/mybatis-plus-boot-starter-3.5.0.jar:/Users/mac/.m2/repository/com/baomidou/mybatis-plus/3.5.0/mybatis-plus-3.5.0.jar:/Users/mac/.m2/repository/com/baomidou/mybatis-plus-extension/3.5.0/mybatis-plus-extension-3.5.0.jar:/Users/mac/.m2/repository/com/baomidou/mybatis-plus-core/3.5.0/mybatis-plus-core-3.5.0.jar:/Users/mac/.m2/repository/com/baomidou/mybatis-plus-annotation/3.5.0/mybatis-plus-annotation-3.5.0.jar:/Users/mac/.m2/repository/com/github/jsqlparser/jsqlparser/4.3/jsqlparser-4.3.jar:/Users/mac/.m2/repository/org/mybatis/mybatis/3.5.9/mybatis-3.5.9.jar:/Users/mac/.m2/repository/org/mybatis/mybatis-spring/2.0.6/mybatis-spring-2.0.6.jar:/Users/mac/.m2/repository/org/springframework/boot/spring-boot-starter-jdbc/2.7.0/spring-boot-starter-jdbc-2.7.0.jar:/Users/mac/.m2/repository/com/zaxxer/HikariCP/4.0.3/HikariCP-4.0.3.jar:/Users/mac/.m2/repository/org/springframework/spring-jdbc/5.3.23/spring-jdbc-5.3.23.jar:/Users/mac/.m2/repository/org/springframework/spring-tx/5.3.23/spring-tx-5.3.23.jar:/Users/mac/.m2/repository/com/clickhouse/clickhouse-jdbc/0.4.6/clickhouse-jdbc-0.4.6.jar:/Users/mac/.m2/repository/org/lz4/lz4-java/1.8.0/lz4-java-1.8.0.jar:/Users/mac/.m2/repository/com/github/luben/zstd-jni/1.5.5-1/zstd-jni-1.5.5-1.jar:/Applications/IntelliJ IDEA.app/Contents/lib/idea_rt.jar com.spring.clickhouse.demo.ClickHouseNativeDemo
已連接到目標(biāo) VM, 地址: ''127.0.0.1:55471',傳輸: '套接字''
14:57:05.940 [main] DEBUG com.clickhouse.jdbc.ClickHouseDriver - ClickHouse Driver 0.4.6.0(JDBC: 4.2.0.0) registered
14:57:06.174 [main] DEBUG com.clickhouse.jdbc.ClickHouseDriver - Creating connection
14:57:06.717 [main] DEBUG com.clickhouse.client.ClickHouseNodeSelector - Checking [com.clickhouse.client.cli.ClickHouseCommandLineClient@1d251891] against [HTTP]...
14:57:06.724 [main] DEBUG com.clickhouse.client.ClickHouseNodeSelector - Checking [com.clickhouse.client.http.ClickHouseHttpClient@2133c8f8] against [HTTP]...
14:57:06.754 [main] DEBUG com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - Connecting to: ClickHouseNode [uri=http://localhost:8123/default, options={compress=0}]@-1642952837
14:57:06.758 [main] DEBUG com.clickhouse.client.AbstractClient - Connecting to: ClickHouseNode [uri=http://localhost:8123/default, options={compress=0}]@-1642952837
14:57:06.794 [main] DEBUG com.clickhouse.client.AbstractClient - Connection established: com.clickhouse.client.http.HttpUrlConnectionImpl@506e6d5e
14:57:06.794 [main] DEBUG com.clickhouse.client.http.ClickHouseHttpClient - Query: select currentUser() user, timezone() timezone, version() version, toUInt8(ifnull((select value from system.settings where name = 'readonly'), '0')) as readonly, toInt8(ifnull((select value from system.settings where name = 'throw_on_unsupported_query_inside_transaction'), '-1')) as throw_on_unsupported_query_inside_transaction, (ifnull((select value from system.settings where name = 'wait_changes_become_visible_after_commit_mode'), '')) as wait_changes_become_visible_after_commit_mode,toInt8(ifnull((select value from system.settings where name = 'implicit_transaction'), '-1')) as implicit_transaction, toUInt64(ifnull((select value from system.settings where name = 'max_insert_block_size'), '0')) as max_insert_block_size, toInt8(ifnull((select value from system.settings where name = 'allow_experimental_lightweight_delete'), '-1')) as allow_experimental_lightweight_delete, (ifnull((select value from system.settings where name = 'custom_jdbc_config'), '')) as custom_jdbc_config FORMAT RowBinaryWithNamesAndTypes
14:57:10.714 [main] DEBUG com.clickhouse.client.AbstractClient - Connecting to: ClickHouseNode [uri=http://localhost:8123/default, options={compress=0}]@-1642952837
14:57:10.715 [main] DEBUG com.clickhouse.client.AbstractClient - Connection established: com.clickhouse.client.http.HttpUrlConnectionImpl@1d057a39
14:57:10.715 [main] DEBUG com.clickhouse.client.http.ClickHouseHttpClient - Query: SHOW DATABASES
查詢數(shù)據(jù)庫成功,共獲取 4 個數(shù)據(jù)庫
INFORMATION_SCHEMA
default
information_schema
system
14:57:11.543 [main] DEBUG com.clickhouse.jdbc.ClickHouseDriver - Creating connection
14:57:11.545 [main] DEBUG com.clickhouse.client.ClickHouseNodeSelector - Checking [com.clickhouse.client.cli.ClickHouseCommandLineClient@29774679] against [HTTP]...
14:57:11.548 [main] DEBUG com.clickhouse.client.ClickHouseNodeSelector - Checking [com.clickhouse.client.http.ClickHouseHttpClient@3ffc5af1] against [HTTP]...
14:57:11.549 [main] DEBUG com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - Connecting to: ClickHouseNode [uri=http://localhost:8123/default, options={compress=0}]@-1642952837
14:57:11.551 [main] DEBUG com.clickhouse.client.AbstractClient - Connecting to: ClickHouseNode [uri=http://localhost:8123/default, options={compress=0}]@-1642952837
14:57:11.552 [main] DEBUG com.clickhouse.client.AbstractClient - Connection established: com.clickhouse.client.http.HttpUrlConnectionImpl@5e5792a0
14:57:11.552 [main] DEBUG com.clickhouse.client.http.ClickHouseHttpClient - Query: select currentUser() user, timezone() timezone, version() version, toUInt8(ifnull((select value from system.settings where name = 'readonly'), '0')) as readonly, toInt8(ifnull((select value from system.settings where name = 'throw_on_unsupported_query_inside_transaction'), '-1')) as throw_on_unsupported_query_inside_transaction, (ifnull((select value from system.settings where name = 'wait_changes_become_visible_after_commit_mode'), '')) as wait_changes_become_visible_after_commit_mode,toInt8(ifnull((select value from system.settings where name = 'implicit_transaction'), '-1')) as implicit_transaction, toUInt64(ifnull((select value from system.settings where name = 'max_insert_block_size'), '0')) as max_insert_block_size, toInt8(ifnull((select value from system.settings where name = 'allow_experimental_lightweight_delete'), '-1')) as allow_experimental_lightweight_delete, (ifnull((select value from system.settings where name = 'custom_jdbc_config'), '')) as custom_jdbc_config FORMAT RowBinaryWithNamesAndTypes
14:57:11.805 [main] WARN com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - [JDBC Compliant Mode] Transaction is not supported. You may change jdbcCompliant to false to throw SQLException instead.
14:57:11.827 [main] DEBUG com.clickhouse.client.AbstractClient - Connecting to: ClickHouseNode [uri=http://localhost:8123/default, options={compress=0}]@-1642952837
14:57:11.828 [main] DEBUG com.clickhouse.client.AbstractClient - Connection established: com.clickhouse.client.http.HttpUrlConnectionImpl@77caeb3e
14:57:11.828 [main] DEBUG com.clickhouse.client.http.ClickHouseHttpClient - Query: CREATE TABLE IF NOT EXISTS test_user (id Int32,name String,age Int32,create_time DateTime DEFAULT now()) ENGINE = MergeTree() ORDER BY id
14:57:12.251 [main] WARN com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - [JDBC Compliant Mode] Transaction is not supported. You may change jdbcCompliant to false to throw SQLException instead.
14:57:12.251 [main] WARN com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - [JDBC Compliant Mode] Transaction [bb17db80-1e1c-4719-81f3-c088b75ee4c9] (2 queries & 0 savepoints) is committed.
14:57:12.253 [main] DEBUG com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - [JDBC Compliant Mode] Transaction [bb17db80-1e1c-4719-81f3-c088b75ee4c9] is committed - begin
14:57:12.254 [main] DEBUG com.clickhouse.jdbc.internal.ClickHouseConnectionImpl -     'eaf78fda-70d5-44dc-8ed6-45201d60b4e0', -- query (1 of 2) in transaction [bb17db80-1e1c-4719-81f3-c088b75ee4c9]
14:57:12.254 [main] DEBUG com.clickhouse.jdbc.internal.ClickHouseConnectionImpl -     '2f5cb674-0aca-4d12-835e-eb6a52082f8a', -- query (2 of 2) in transaction [bb17db80-1e1c-4719-81f3-c088b75ee4c9]
14:57:12.254 [main] DEBUG com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - [JDBC Compliant Mode] Transaction [bb17db80-1e1c-4719-81f3-c088b75ee4c9] is committed - end
創(chuàng)建/驗證 test_user 表成功
14:57:12.266 [main] DEBUG com.clickhouse.client.AbstractClient - Connecting to: ClickHouseNode [uri=http://localhost:8123/default, options={compress=0}]@-1642952837
14:57:12.267 [main] DEBUG com.clickhouse.client.AbstractClient - Connection established: com.clickhouse.client.http.HttpUrlConnectionImpl@5622fdf
14:57:12.267 [main] DEBUG com.clickhouse.client.http.ClickHouseHttpClient - Query: SELECT id, name, age FROM `test_user` WHERE 0
14:57:12.351 [main] DEBUG com.clickhouse.client.AbstractClient - Connecting to: ClickHouseNode [uri=http://localhost:8123/default, options={compress=0}]@-1642952837
14:57:12.352 [main] DEBUG com.clickhouse.client.AbstractClient - Connection established: com.clickhouse.client.http.HttpUrlConnectionImpl@6eebc39e
14:57:12.352 [main] DEBUG com.clickhouse.client.http.ClickHouseHttpClient - Query: INSERT INTO test_user (id, name, age) 
 FORMAT RowBinary
14:57:12.864 [main] WARN com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - [JDBC Compliant Mode] Transaction is not supported. You may change jdbcCompliant to false to throw SQLException instead.
14:57:12.864 [main] WARN com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - [JDBC Compliant Mode] Transaction [34991646-0c78-4cbb-9282-3af5669f5a42] (2 queries & 0 savepoints) is committed.
14:57:12.864 [main] DEBUG com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - [JDBC Compliant Mode] Transaction [34991646-0c78-4cbb-9282-3af5669f5a42] is committed - begin
14:57:12.865 [main] DEBUG com.clickhouse.jdbc.internal.ClickHouseConnectionImpl -     'a00b4816-a2ef-44d1-8537-81f9b34c2099', -- query (1 of 2) in transaction [34991646-0c78-4cbb-9282-3af5669f5a42]
14:57:12.865 [main] DEBUG com.clickhouse.jdbc.internal.ClickHouseConnectionImpl -     '0add06ba-2975-4756-9505-82355b2c024d', -- query (2 of 2) in transaction [34991646-0c78-4cbb-9282-3af5669f5a42]
14:57:12.866 [main] DEBUG com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - [JDBC Compliant Mode] Transaction [34991646-0c78-4cbb-9282-3af5669f5a42] is committed - end
批量插入數(shù)據(jù)到 test_user 表成功
14:57:12.866 [main] WARN com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - [JDBC Compliant Mode] Transaction [dc584e7d-5f00-44ef-9512-bf148d8a6857] (0 queries & 0 savepoints) is committed.
14:57:12.867 [main] DEBUG com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - [JDBC Compliant Mode] Transaction [dc584e7d-5f00-44ef-9512-bf148d8a6857] is committed - begin
14:57:12.867 [main] DEBUG com.clickhouse.jdbc.internal.ClickHouseConnectionImpl - [JDBC Compliant Mode] Transaction [dc584e7d-5f00-44ef-9512-bf148d8a6857] is committed - end
與目標(biāo) VM 斷開連接, 地址為: ''127.0.0.1:55471',傳輸: '套接字''

進(jìn)程已結(jié)束,退出代碼0

其他

image.png
image.png
image.png

URL 添加 compress=0 極低 較大(無壓縮) 測試環(huán)境、緊急應(yīng)急 ★★★☆☆
URL 添加 compress_algorithm=gzip 極低 輕微(Gzip 壓縮) 無法添加 LZ4 依賴的生產(chǎn) / 開發(fā)環(huán)境 ★★★★★
服務(wù)端禁用 LZ4 / 更換為 Gzip 中等 全局生效(影響所有客戶端) 多 Java 客戶端、大規(guī)模部署場景 ★★★★☆

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容