ClickHouse数据导入

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ClickHouse数据导入相关的知识,希望对你有一定的参考价值。

参考技术A 目前Kafka数据导入ClickHouse的常用方案有两种,一种是通过ClickHouse内置的Kafka表引擎实现,另一种是借助数据流组件,如Logstash。

以下会分别介绍这两种方案。

Kafka表引擎基于librdkafka库实现与Kafka的通信,但它只充当一个数据管道的角色,负责拉取Kafka中的数据;所以还需要一张物化视图将Kafka引擎表中的数据实时同步到本地MergeTree系列表中。

为了提高性能,接受的消息被分组为 maxinsertblocksize 大小(由kafkamax_block_size参数空值,默认值为65536)的块。如果未在 streamflushinterval_ms 毫秒(默认500 ms)内形成块,则不关心块的完整性,都会将数据刷新到表中。

相关配置参数:
https://github.com/edenhill/librdkafka/blob/master/CONFIGURATION.md

1)部署Kafka

2)创建Kafka引擎表

必选参数:

可选参数:

3)创建数据表
使用已有的数据表,以下只给出了分布表的创建语句。

4)创建物化视图

与Elasticsearch写入类似,通过Logstash的ClickHouse插件,订阅Kafka中的数据并写入CH中。其中,ClickHouse插件调用HTTP接口完成数据写入。

1)部署Logstash
部署Logstash,并安装ClickHouse插件:

2)创建Logstash配置文件

相关参数:

3)启动Logstash

Kafka引擎表和Logstash都是常见的数据导入方式,

以上是关于ClickHouse数据导入的主要内容,如果未能解决你的问题,请参考以下文章

2023-02-10 clickhouse导入tpch数据-记录

clickhouse使用waterdrop将Hive中的数据导入ClickHouse

clickhouse安装数据导入及查询测试

hive导入到clickhouse的几种方式总结

将数据集导入 Docker 下的 Clickhouse 时出现“异常:没有要插入的数据”

如何通过 Docker 容器 clickhouse-client 将 CSV 数据导入表