ClickHouse Kafka引擎不消费问题排查
2021-09-04 本文已影响0人
淡淡的小番茄
背景
开发环境运行正常的程序在测试程序一直运行不了,提示kafka引擎表不能正常工作。我们ClickHouse版本是20.8.3。
查看ClickHouse的日志
发现kafka引擎报错提示字段不存在,我们的业务流程是kafka引擎表--->ods层--->dws层。其中引擎表--ods,ods到dws都是通过物化视图来进行数据预处理。出问题的是ods到dws的物化视图,导致kafka引擎表无法正常工作。当然,dws、ods层都是没有数据的。从这一点来看,ClickHouse物化视图确实无法保证数据的一致性,其就是个管道。
问题解决
知道问题所在就晓得如何解决了,排查过程中发现ClickHouse此版本的一个BUG:就是较复杂的嵌套SQL,执行后,可能存在别名丢失的问题。比如如下的一个SQL,执行后,查看表的DDL语句发现别名DDD会丢失。建表的时候需要特别注意。
CREATE MATERIALIZED VIEW xxx TO yyy
(
...
) AS
select
xxx
from (
SELECT xxx FROM ttt as DDD
GROUP BY gf1, gf2
) a left join xxx on 1=1;