惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Google DeepMind News
Google DeepMind News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
宝玉的分享
宝玉的分享
量子位
博客园 - 叶小钗
博客园_首页
Know Your Adversary
Know Your Adversary
S
Schneier on Security
罗磊的独立博客
C
Cyber Attacks, Cyber Crime and Cyber Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Simon Willison's Weblog
Simon Willison's Weblog
美团技术团队
WordPress大学
WordPress大学
大猫的无限游戏
大猫的无限游戏
Hacker News: Ask HN
Hacker News: Ask HN
Application and Cybersecurity Blog
Application and Cybersecurity Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Security Latest
Security Latest
月光博客
月光博客
Spread Privacy
Spread Privacy
C
Cybersecurity and Infrastructure Security Agency CISA
人人都是产品经理
人人都是产品经理
J
Java Code Geeks
C
CERT Recently Published Vulnerability Notes
Last Week in AI
Last Week in AI
Attack and Defense Labs
Attack and Defense Labs
NISL@THU
NISL@THU
H
Hacker News: Front Page
N
News and Events Feed by Topic
小众软件
小众软件
T
Threatpost
V2EX - 技术
V2EX - 技术
T
Tailwind CSS Blog
阮一峰的网络日志
阮一峰的网络日志
Project Zero
Project Zero
L
LINUX DO - 热门话题
Apple Machine Learning Research
Apple Machine Learning Research
C
CXSECURITY Database RSS Feed - CXSecurity.com
TaoSecurity Blog
TaoSecurity Blog
P
Privacy International News Feed
Latest news
Latest news
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
酷 壳 – CoolShell
酷 壳 – CoolShell
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
AWS News Blog
AWS News Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 【当耐特】
Hugging Face - Blog
Hugging Face - Blog

博客园 - Lemo_wd

flutter —— iOS 的构建与分发 flutter —— 理解 iOS 的依赖管理 wireguard 入门 k3s 基础 —— 将 traefik 替换为 ingress-nginx Pr 入门 为什么 TCP 是3次握手4次挥手? 给 ssh 私钥文件配置统一口令 滚动部署零碎笔记1 Clickhouse 物化视图与投影 Clickhouse 主键索引 Clickhouse 核心概念 ClickHouse 案例学习 —— 使用 ClickHouse 探索 GitHub 统计信息 linux Tun/Tap 虚拟网卡 Clickhouse 表引擎 —— MergeTree 局域网中的设备间的流量转发 d3.js 构建股权架构图并绘制双向节点树 final cut pro 入门 d3.js 构建股权架构图并绘制股权百分比 flutter 的滚动控制 —— 滚动类组件的内部与整体滚动
Clickhouse 的 kafka Engine 集成
Lemo_wd · 2025-04-10 · via 博客园 - Lemo_wd

在 ClickHouse 中,​Kafka Engine + 物化视图是一种直接消费 Kafka 数据并写入 ClickHouse 表的架构模式,其核心是通过三张表协作实现数据流自动化处理。

1. Kafka Engine 表​

作为 Kafka 数据的消费者和解析器,直接连接到 Kafka Topic,实时拉取数据并解析为 ClickHouse 可识别的格式(如 JSONEachRow)。

关键配置​:

  • kafka_broker_list:Kafka 集群地址。
  • kafka_topic_list:监听的 Topic。
  • kafka_format:数据格式(需与 Kafka 消息格式匹配)。

特性:

  • 数据不持久化​:Kafka Engine 表仅作为临时管道,消费后自动清理已处理的消息。
  • 支持多线程消费:通过 kafka_num_consumers 参数提升吞吐量。

2. 目标表(MergeTree)

存储最终数据的表,通常使用 MergeTree 引擎,支持高效查询和分区。

示例:

CREATE TABLE target_table (id UInt32, data String) 
ENGINE = MergeTree() ORDER BY id;

3. 物化视图

作为数据搬运工,自动将 Kafka Engine 表的数据转换并写入目标表,实现流式 ETL。

关键机制:

  • 监听 Kafka Engine 表​:通过 SELECT 语句从 Kafka Engine 表提取数据,可包含过滤或转换逻辑(如字段映射、类型转换)。
  • ​自动触发写入​:每当 Kafka Engine 表有新数据,物化视图会立即同步到目标表。

示例:

CREATE MATERIALIZED VIEW kafka_to_target TO target_table
AS SELECT id, data FROM kafka_engine_table;

4. 适用场景

  • ​简单实时流​:Kafka 消息格式与目标表结构高度匹配时(如日志采集)。
  • ​资源敏感场景​:避免引入额外中间件,减少运维成本。

如需更复杂的处理(如数据分发到多表),需要结合 Flink 等工具。