与 ClickHouse 一起攀登冰山(Apache Iceberg)

图片

本文字数:8411;估计阅读时间:22 分钟

作者: Melvyn Peignon

本文在公众号【ClickHouseInc】首发

图片

引言

回顾 2024 年,有一项技术始终引人注目:Apache Iceberg,更广义地说,是湖仓架构。这一趋势在多个行业动态中得到了印证,比如 Databricks 收购了 Tabular,AWS 在 Re:Invent 期间发布了 Amazon S3 Tables,GCP 投资优化 Iceberg 与 BigQuery/BigLake 的集成,以及 Snowflake 通过开发 Polaris 加强对 Iceberg 的支持。

这些动态让人们不禁思考:

  • 你的数据湖和湖仓如何与 ClickHouse 集成?

  • 在这个领域,ClickHouse 在 2025 年有哪些计划?

本篇博客将围绕这两个问题展开讨论,并结合我们在与用户合作过程中观察到的架构案例。同时,我们还会分享一些工程团队的实现细节,最后介绍 2025 年的发展规划!

如果你对数据湖、湖仓和 ClickHouse 感兴趣,并希望成为设计合作伙伴、提前体验我们即将推出的功能,或了解更多未来计划,请填写此表单【https://clickhouse.com/cloud/data-lakehouse-waitlist】,我们将尽快与你联系!

如何在数据湖和湖仓中使用 ClickHouse?

如果你查看 ClickHouse 代码仓库中最早的 pull request,就会发现它非常注重与外部系统的集成。随着时间的推移,ClickHouse 已经发展成连接数据湖与数据仓库的强大桥梁,兼容 60 多种输入和输出格式,并支持队列、数据库和对象存储。这种灵活性让用户既能享受数据湖的弹性,又能保持实时查询的高性能。

如今,大多数 ClickHouse 用户都在使用这种方式,其中 S3 是最常见的数据源,既可用于数据加载,也可用于临时查询。功能如 s3Cluster 以及最近推出的 S3Queue(同时支持 GCS 和 Azure)让这一集成更加流畅,使 ClickHouse 能够直接查询存储中的数据进行探索性分析,或高效摄取数据以支持高性能分析。

随着越来越多的企业和团队重新审视其数据湖和数据仓库战略,有些公司已经在使用 ClickHouse,而另一些则刚刚开始探索它与湖仓架构的契合点。

在数据湖和湖仓架构中,ClickHouse 主要用于以下三类场景:

  • 从数据湖/湖仓加载数据到 ClickHouse  

  • 对数据湖/湖仓进行临时查询和联邦查询  

  • 高频查询数据湖/湖仓  

从数据湖加载数据到 ClickHouse

如前所述,ClickHouse 最常用的集成功能之一是 s3Cluster 和 s3Queue 表函数,以及它们在 Google Cloud 和 Azure Blob Storage 上的对应版本。用户通常使用这些函数将数据加载到 ClickHouse,既支持一次性加载(s3Cluster),也支持增量加载(s3Queue)。ClickPipes 在 s3Cluster 的基础上扩展,提供从对象存储进行批量和增量加载的能力,并确保“恰好一次”(exactly-once)语义。

图片

上图展示了一种常见的架构模式,广泛应用于需要增量写入数据的场景,例如日志分析和 Web 分析。  

在这种架构下,ClickHouse 会持续从数据湖中加载数据,并存入 ClickHouse 表,以支持高效分析。ClickHouse 会定期查询 S3,检查是否有新数据。如果发现新文件,ClickHouse 会自动读取、加载,并将数据聚合到指定表中。

这一模式可以轻松扩展至 Iceberg、Delta,甚至 Hudi 等开源表格式。

此外,还可以通过“双写”(double-write)方式,将数据湖中的部分数据加载到 ClickHouse。这种方法常见于企业数据平台的架构设计,目标是存储企业的大量数据,同时确保各团队能够无缝访问和使用数据。Iceber

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值