【发布时间】:2018-12-28 17:04:04
【问题描述】:
我目前正在做一个项目,该项目需要从 Kafka 主题(JSON 格式)中提取数据,并将其直接写入 Clickhouse。我按照Clickhouse documentation中建议的方法:
第 1 步:创建一个可写入表(例如 level1)的 clickhouse 消费者。
第 2 步:我在 'level1' 上执行了一个选择查询,它给了我一组结果,但并不是特别有用,因为它只能读取一次。
第 3 步:我创建了一个物化视图,它从引擎 (level1) 转换数据并将其放入之前创建的表中(例如,level2)。在写入“level2”时,聚合是在一天级别的(通过将 level1 中的时间戳转换为日期时间来完成)。
因此,'level2' 中的数据:- day + 'level1' 中的所有列
我打算将此视图 (level2) 用作任何未来聚合的基础(例如,在 level3)
问题 1: 正在创建“level2”,但未在其中填充数据,即,当我对视图执行基本选择查询(从 level2 限制 10 中选择 *)时,输出为“集合中的 0 行”。
是因为一天级别的聚合,它可能会在一天结束时填充吗?我可以从“level2”实时提取数据吗?
问题 2: 有没有办法从我的引擎“level1”中多次读取相同的数据?
问题 3: 有没有办法在阅读 kafka 主题时将 Avro 转换为 JSON?或者Clickhouse可以直接将数据(Avro格式)写入'level1'而不进行任何转换?
编辑:Clickhouse 在从 Kafka 检索数据时存在延迟。必须在我的 Clickhouse 服务器的 user.xml 文件中创建 changes(更改 max_block_size)。
【问题讨论】: