ClickHouse服务部署

1、创建密文卷

创建clickhouse-pwd密文卷、通过密文卷来配置CLICKHOUSE_ADMIN_PASSWORD属性值

1705998964008

2、服务部署

部署服务,配置属性参考如下:

名称:clickhouse (自定义,该名称同时做为服务名)

Docker镜像:172.16.102.2:5000/library/bitnami/clickhouse:23.8.9

容器端口:8123(http端口)

环境变量:

CLICKHOUSE_ADMIN_USER:root(默认为 default账号,可自行修改)

CLICKHOUSE_ADMIN_PASSWORD:xxxx(root账号密码)

1705999043258

  • 存储卷配置

配置PVC:

卷名:clickhouse-pvc

容器路径:/bitnami/clickhouse

1705999109063

  • 配置完启动,验证是否成功

1705999537363

3、验证访问

通过dbeaver或其他客户端工具进行连接测试,端口为8123暴露出去的nodeport端口

1705999389593

4、基本操作

clickhouse的大部分操作都保持与标准的SQL一致,详细的参考官方文档

-- 创建DATABASE
CREATE DATABASE IF NOT EXISTS dcdw

-- 创建表
CREATE TABLE dcdw.my_first_table
(
    user_id UInt32,
    message String,
    timestamp DateTime,
    metric Float32
)
ENGINE = MergeTree()
PRIMARY KEY (user_id, timestamp)

-- 插入数据
INSERT INTO dcdw.my_first_table (user_id, message, timestamp, metric) VALUES
    (101, 'Hello, ClickHouse!',                                 now(),       -1.0    ),
    (102, 'Insert a lot of rows per batch',                     yesterday(), 1.41421 ),
    (102, 'Sort your data based on your commonly-used queries', today(),     2.718   ),
    (101, 'Granules are the smallest chunks of data read',      now() + 5,   3.14159 )

-- 查询(跟sql查询一样)
SELECT * FROM dcdw.my_first_table

-- 删除表
DROP TABLE `dcdw`.my_first_table;

  • 字段与类型说明

user_id: UInt32表示一个32位无符号整数;

messageString表示一个字符串数据类型,它取代了像VARCHAR, BLOB, CLOB和其他来自其他数据库系统的类型;

timestamp: DateTime表示一个DateTime值,它表示一个即时的时间

metric: Float32表示一个32位浮点数

5、参考资料

官方文档:https://clickhouse.com/docs/en/guides/creating-tables在新窗口打开

上次更新:
编辑者: 李贤伟