首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >DuckDB 实时湖仓插件duckdb_mooncake

DuckDB 实时湖仓插件duckdb_mooncake

作者头像
用户4035096
发布2026-07-09 19:27:10
发布2026-07-09 19:27:10
200
举报

DuckDB 实时湖仓插件duckdb_mooncake

上一篇文章介绍了 Mooncake-Labs 架构核心模块 moonlink, 上游实时数据流以读优化方式入湖(iceberg), 说是实时入湖, 实际上有一部分是在moonlink的缓存里.

  • 《Mooncake-Labs 架构进化, 核心是 moonlink》

所以要读到实时数据必须要配合moonlink使用.

这不, 如果你使用duckdb作为计算引擎, 那么可使用 duckdb_mooncake 插件连接moonlink, 实时读取moonlink缓冲区+iceberg内的数据.

怎么用呢? 来看看项目文档

https://github.com/Mooncake-Labs/duckdb_mooncake


duckdb_mooncake 是 DuckDB 的一个扩展,用于实时读取由 moonlink 写入的 Iceberg 表。

安装

duckdb_mooncake 可以使用以下命令安装INSTALL:

代码语言:javascript
复制
INSTALL duckdb_mooncake FROM community;    

用法

可以使用ATTACH命令绑定 Mooncake 数据库,然后可以使用标准 SQL 查询表。

下面的示例绑定 监听地址为 '/var/lib/postgresql/data/pg_mooncake/moonlink.sock' 的moonlink 实例, 指定连接到名为 postgres 的 moonlink 数据库 。此 moonlink 实例已预先填充了一个名为 public.c 的表:

代码语言:javascript
复制
D ATTACH DATABASE 'mooncake' (TYPE mooncake, URI '/var/lib/postgresql/data/pg_mooncake/moonlink.sock', DATABASE 'postgres');    
D SELECT * FROM mooncake.public.c;    
┌───────┬─────────┐    
│  id   │   val   │    
│ int32 │ varchar │    
├───────┼─────────┤    
│     1 │ Hello   │    
│     2 │ World   │    
└───────┴─────────┘    

build 项目

要构建 duckdb_mooncake ,请输入:

代码语言:javascript
复制
git submodule update --init --recursive    
GEN=ninja make    

要运行 duckdb_mooncake ,请运行捆绑了 duckdb_mooncake 的 duckdb shell 如下:

代码语言:javascript
复制
./build/release/duckdb    

参考

https://github.com/Mooncake-Labs/duckdb_mooncake

《Mooncake-Labs 架构进化, 核心是 moonlink》

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-10-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 digoal德哥 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • DuckDB 实时湖仓插件duckdb_mooncake
  • 安装
  • 用法
  • build 项目
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档