ClickHouse Kafka 数据接入 —— offset 指定位置开始消费

这个流程针对 Kafka 数据实时接入 ClickHouse 的情况下,

某些场景需要从指定 Offset 位置开始消费,可以参考以下流程进行操作。


DETACH 物化视图

停止 Kakfa 数据的消费

1
DETACH TABLE source_target_mv;

删除 kafka_source 表

kafka_source 一定要删除,否则执行重置 Kafka Offset 命令时会报被占用的错误,不能进行 Offset 重置

1
DROP table kafka_source;

重置 Kafka Offset

1
kafka-consumer-groups --bootstrap-server 10.0.15.130:9092 --group test01 --topic ck_test:0,1 --reset-offsets --to-offset 5,5 --execute

重建 kafka_source 表

1
2
3
4
5
6
7
8
9
10
11
12
CREATE TABLE kafka_source (
ts UInt64,
level String,
message String,
jg String
)
ENGINE = Kafka
SETTINGS kafka_broker_list = '10.0.15.130:9092,10.0.15.131:9092,10.0.15.132:9092',
kafka_topic_list = 'ck_test',
kafka_group_name = 'test01',
kafka_format = 'JSONEachRow',
kafka_num_consumers = 2;

ATTACH 物化视图

1
ATTACH TABLE source_target_mv;