我想将kafka集成用于Clickhouse。我尝试使用here之类的官方教程!所有表已创建。我运行kafka服务器。接下来运行kafka producer并在数据库中像行中那样写入命令promt json对象。像这样:
{"timestamp":1554138000,"level":"first","message":"abc"}
我检查了kafka消费者。它收到了对象。但是,当我在Clickhouse数据库中检查表时,那里有空行。有任何想法我做错了吗?
答案 0 :(得分:1)
对不起。我失败了。在启动Clickhouse和Kafka之前。我测试了通过kafka将简单消息发送到主题中。 Clickhouse尝试解析它。我刚刚创建了新主题,现在一切都正常了。谢谢!
答案 1 :(得分:0)
看起来像well-known issue发生在最新版本的CH之一中,请尝试向引擎配置中添加额外的参数 kafka_row_delimiter :
CREATE TABLE queue (
timestamp UInt64,
level String,
message String
)
ENGINE = Kafka SETTINGS
kafka_broker_list = 'localhost:9092',
kafka_topic_list = 'topic',
kafka_group_name = 'group1',
kafka_format = 'JSONEachRow',
kafka_row_delimiter = '\n';
答案 2 :(得分:0)
我在这样的日志中有错误。这是什么意思?
<Error> void DB::StorageKafka::streamThread(): Code: 27, e.displayText() = DB::Exception: Cannot parse input: expected { before: hello: (at row 1)
clickhouse-server.log:2019.04.03 11:23:32.068313 [ 35 ] {} <Trace> StorageKafka (queue): Re-joining claimed consumer after failure
我通过kafka发送这样的json
{"timestamp":1554138000,"level":"first","message":"abc"}