什麼是ClickHouse?
- ClickHouse是一個用於聯機分析(OLAP)的列式數據庫管理系統(DBMS)。
- 更多說明請參考官網:https://clickhouse.com/docs/zh/
安裝clickhouse
- clickhose官網安裝文檔:https://clickhouse.com/docs/zh/getting-started/install/#from-rpm-packages
- centos7安裝clickhose
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo
sudo yum install -y clickhouse-server clickhouse-client
- 啓動clickhouse:
sudo /etc/init.d/clickhouse-server start
- 進入clickhouse客戶端:
clickhouse-client # or "clickhouse-client --password" if you set up a password.
修改clickhouse配置文件
- 允許遠程訪問: vi /etc/clickhouse-server/config.xml,將
<listen_host>::</listen_host>
取消註釋 - 設置訪問密碼:vi /etc/clickhouse-server/users.xml,在password標籤中設置自己的密碼
- 重啓服務:
service clickhouse-server restart
- 防火牆放行指定端口:
firewall-cmd --zone=public --add-port= 8123/tcp --permanent
,重啓防火牆:firewall-cmd --reload
下載clickhose客戶端工具
- DBeaver的官網 https://dbeaver.io/download/
- 第一次連接時,會下載一些驅動
創建clickhouse測試數據庫
CREATE DATABASE IF NOT EXISTS test_db;
導入官網上給的測試數據
- 官網測試數據地址:https://clickhouse.com/docs/zh/getting-started/example-datasets/menus
- 使用客戶端命令導入
clickhouse-client --format_csv_allow_single_quotes 0 --input_format_null_as_default 0 --query "INSERT INTO test_db.dish FORMAT CSVWithNames" < Dish.csv
clickhouse-client --format_csv_allow_single_quotes 0 --input_format_null_as_default 0 --query "INSERT INTO test_db.menu FORMAT CSVWithNames" < Menu.csv
clickhouse-client --format_csv_allow_single_quotes 0 --input_format_null_as_default 0 --query "INSERT INTO test_db.menu_page FORMAT CSVWithNames" < MenuPage.csv
clickhouse-client --format_csv_allow_single_quotes 0 --input_format_null_as_default 0 --date_time_input_format best_effort --query "INSERT INTO test_db.menu_item FORMAT CSVWithNames" < MenuItem.csv
SpringBoot項目集成clickhouse
- 引入
clickhouse-jdbc
依賴
<dependency>
<groupId>com.clickhouse</groupId>
<artifactId>clickhouse-jdbc</artifactId>
<version>0.3.2</version>
</dependency>
- 在
application.yml
配置文件中配置clickhouse地址
url: jdbc:clickhouse://127.0.0.1:8123/test_db?useSSL=false
username: default
password: reminis@2023
driver-class-name: com.clickhouse.jdbc.ClickHouseDriver
- 通過mybatis-plus或其它ORM框架對clickhosue數據庫中的表進行crud操作
把其它數據源的數據導入clickhouse
- 下載
clickhouse-jdbc-bridge
,並安裝運行 - 參考文檔:https://github.com/ClickHouse/clickhouse-jdbc-bridge