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

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

某些场景需要从指定 Offset 位置开始消费,可能会出现修改了 Offset 后,Kafka 引擎不会继续消费的情况,

使用以下方式,解决了 Offset 修改后不能继续消费的问题。


Offset 修改后不能继续消费解决方法

step 1

kafka_source 表更换表名重建

step 2

物化视图变更视图名重建

其他操作流程不变,按照以下流程进行。

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 --reset-offsets --to-offset 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;