ClickHouse-Kafka引擎,如何将同一消息流中不同的消息分拆到不同的目标表

ClickHouse-Kafka引擎,如何将同一消息流中不同的消息分拆到不同的目标表

《ClickHouse-Kafka引擎,如何将同一消息流中不同的消息分拆到不同的目标表》,ClickHouse物化视图提供了一种非常通用的方式来使Kafka消息适应目标表数据。我们可以定义多个实例化视图,以将消息流拆分到不同的目标表中。

一、创建存储消费Kafka的数据表,按照level类别分类

  • 这里level取值范围“A”, “B”,首先分别创建数据表cppla.kafka_readings_A, cppla.kafka_readings_B 
  • dt为具体业务时间,标准北京时间。

1.1 创建数据表cppla.kafka_readings_A

1.2创建数据表cppla.kafka_readings_B

二、创建消费Kafka数据表

三、创建物化视图分拣不同的消息到数据表中

四、往Kafka写入消息,测试分拣消息成功

五、总结

我们甚至也可以对同一个Kafka 全量列 消息源,创建多个物化视图按照类别拆分消息, 根据不同的列子集分类出不同结构的数据表存储。另外就是生产中最好用复制表+去重+分布式表的方式落地,保证数据的高可用性、安全性、可靠性,避免ClickHouse单分一片意外宕机造成的异常。

自动分拣同一个Kafka 全量列 消息源,存储到不同的结构表示例(demo by:cpp.la):

《ClickHouse-Kafka引擎,如何将同一消息流中不同的消息分拆到不同的目标表》,有参阅ClickHouse和相关文献和altinity.com等,by: cpp.la

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注