前言
事件流是按时间顺序持续产生的行为数据,如接口请求、系统日志、监控指标、部署记录等。
ClickHouse专为这类高吞吐、海量时序数据的实时聚合分析设计。
ClickHouse 专为列式存储、高速聚合设计,能在亿级数据上实现秒级多维统计,是运维、SRE 做可观测性与数据分析的首选引擎。
例如:Pingmesh这种全网探测数据,天生就是给ClickHouse存储的。
A B C D ← 这是【列】:目标节点 A 1 1 1 0 B 1 1 1 0 C 1 1 1 0 D 0 0 0 1 ↑ 这是【行】:从谁出发
一、ClickHouse是什么?
ClickHouse的核心定位就是对大数据进行近实时地进行分析型查询,而不是展示和实时全文搜索。
使用ClickHouse

Python
安装依赖包
pip install clickhouse-connect
开始使用
import clickhouse_connect client = clickhouse_connect.get_client( host='172.16.128.208', port=8123, username='default', password='', database="flumesinkNew" ) #查询 result = client.query("SELECT * FROM http_log LIMIT 5") # 结果行 print(result.result_rows) # 列名 print(result.column_names) # 或者一行一行遍历 for row in result.result_rows: print(row) client.close()
Java
安装依赖包
<dependency> <groupId>ru.yandex.clickhouse</groupId> <artifactId>clickhouse-jdbc</artifactId> <version>0.3.2</version> </dependency>
二、ClickHouse 数据类型
1. 基础标量
- 整数:
Int/UInt系列 - 浮点:
Float32/Float64;定点:Decimal(P,S) - 字符串:
String/FixedString(N) - 时间:
Date、DateTime、DateTime64(精度)(纳秒用 9) - 专用:
IPv4/IPv6、UUID、Enum
无 bool,用
UInt80/1 代替
2. 复合类型(多值打包)
Array(T):同类型数组,arrayJoin展开多行Tuple(T1,T2...):固定个数多类型组合Map(K,V):KV 键值对(otel 标签首选,col['key']取值)Nested:嵌套数组结构,旧方案
3. 动态半结构化
JSON:任意嵌套 json 文档Variant/Dynamic:一行支持多种类型
4. 类型包装器(不是独立类型)
LowCardinality(T):低基数,压缩 + 加速分组(标签常用)Nullable(T):允许 null,有性能损耗
浙公网安备 33010602011771号