首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Clickhouse Kafka主题加入:

Clickhouse Kafka主题加入:
EN

Stack Overflow用户
提问于 2019-03-06 18:05:09
回答 2查看 710关注 0票数 1

我有两个(以及更多) Kafka主题,我需要加入他们。我的问题来自我在博客/StackOverflow上读到的内容...有两个选项:

1)将它们都流式传输,Clickhouse Kafka引擎/spark流,然后运行join,这在Clickhouse中是不推荐的?

2)构建一个包含所有列的表,并使用Clickhouse引擎/spark streaming更新相同的入口?

任何建议

EN

回答 2

Stack Overflow用户

发布于 2019-03-07 23:44:19

一如既往,这真的取决于你导入的是什么类型的数据,以及你将如何使用它,但我想说的是,在大多数情况下,最好将这两个主题导入到一个表中(所以选择2)。从那里,您将能够快速过滤和聚合记录。根据您要执行的查询,您应该使用适当的ORDER BY列导入数据,这将使您的查询速度更快。

如果您提供有关要连接的数据的模式的更多详细信息,我可以提供更具体的答案。

票数 1
EN

Stack Overflow用户

发布于 2019-03-15 00:21:30

在ClickHouse中,从Kafka中获取数据的标准方法是使用Engine=Kafka和物化视图创建“源”表,并使用ReplicatedMergeTree引擎将数据复制到最终表中。

您可以创建多个实体化视图,这些实体化视图将写入相同的目标表,就像这样。

代码语言:javascript
复制
CREATE TABLE kafka_topic1 ( ... ) Engine=Kafka ...;

CREATE TABLE kafka_topic2 ( ... ) Engine=Kafka ...;

CREATE TABLE clickhouse_table ( ... ) Engine=MergeTree ...;

CREATE MATERIALIZED VIEW kafka_topic1_reader
  TO clickhouse_table
  AS SELECT * FROM kafka_topic1;

CREATE MATERIALIZED VIEW kafka_topic2_reader
  TO clickhouse_table
  AS SELECT * FROM kafka_topic2;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55020370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档