Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka Clickhouse中的实体化视图未填充_Apache Kafka_Clickhouse - Fatal编程技术网

Apache kafka Clickhouse中的实体化视图未填充

Apache kafka Clickhouse中的实体化视图未填充,apache-kafka,clickhouse,Apache Kafka,Clickhouse,我目前正在从事一个项目,该项目需要从卡夫卡主题JSON格式获取数据,并将其直接写入Clickhouse。我遵循了以下建议的方法: 步骤1:创建一个clickhouse消费者,它将数据写入一个表中,比如level1 第2步:我在“level1”上执行了一个select查询,它给了我一组结果,但不是特别有用,因为它只能读取一次 步骤3:我创建了一个实体化视图,该视图转换EngineLevel 1中的数据,并将其放入先前创建的表中,比如level2。在写入“level2”时,通过将level1中的时间

我目前正在从事一个项目,该项目需要从卡夫卡主题JSON格式获取数据,并将其直接写入Clickhouse。我遵循了以下建议的方法:

步骤1:创建一个clickhouse消费者,它将数据写入一个表中,比如level1

第2步:我在“level1”上执行了一个select查询,它给了我一组结果,但不是特别有用,因为它只能读取一次

步骤3:我创建了一个实体化视图,该视图转换EngineLevel 1中的数据,并将其放入先前创建的表中,比如level2。在写入“level2”时,通过将level1中的时间戳转换为datetime,聚合在一天级别上完成

因此,“level2”中的数据为-day+level1中的所有列

我打算使用这个视图level2作为将来任何聚合的基础,比如level3

问题1:正在创建“level2”,但其中未填充数据,即,当我在视图上执行基本的select查询select*from level2 limit 10时,输出为集合中的0行

这是因为日级聚合,并且它可能在一天结束时填充?我可以实时接收来自“level2”的数据吗

问题2:是否有办法多次从我的引擎“level1”读取相同的数据

问题3:在阅读卡夫卡主题时,有没有办法将Avro转换为JSON?或者Clickhouse是否可以将Avro格式的数据直接写入“level1”,而不进行任何转换

编辑:从卡夫卡检索数据时,Clickhouse中存在延迟。必须在我的Clickhouse服务器的user.xml文件中更改最大块大小

问题1:正在创建“level2”,但其中未填充数据,即,当我在视图上执行基本的select查询select*from level2 limit 10时,输出为集合中的0行

这可能与卡夫卡存储的默认设置有关,卡夫卡存储总是从最新偏移量开始使用数据。您可以通过添加以下内容来更改行为

<kafka>
    <auto_offset_reset>earliest</auto_offset_reset>
</kafka>
到config.xml

问题2:是否有办法多次从我的引擎“level1”读取相同的数据

你最好避免直接从卡夫卡存储器中读取。您可以为“level1”设置专用物化视图M1,并使用该视图填充“level2”。那么M1的读数是可重复的

问题3:在阅读卡夫卡主题时,有没有办法将Avro转换为JSON?或者Clickhouse是否可以将Avro格式的数据直接写入“level1”,而不进行任何转换

不,尽管您可以尝试使用Cap'n Proto,它应该提供与Avro类似的性能,并且ClickHouse直接支持它