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