DuckDB-Paimon v0.0.3:谓词下推能力全面升级

简介: DuckDB-paimon 是 PolarDB 团队开发的 DuckDB 插件,支持直接 SQL 查询 Apache Paimon 表,免 ETL、免集群。v0.0.3 版全面实现谓词下推,覆盖 =、>、BETWEEN、IN、LIKE、NULL 判断及 AND/OR 组合,显著降低对象存储 I/O 与计算开销。

DuckDB-paimon 是由 PolarDB 团队开发的一款 DuckDB 扩展插件,允许通过 SQL 直接查询 Apache Paimon 表,无需任何 ETL 搬运,无需 Flink/Spark 集群,打开 DuckDB Shell 即可对 Paimon 表执行 SQL 分析。

近期发布 v0.0.3-variegata 版本带来了一项系统性的改进:谓词下推(Predicate Pushdown)能力的全面覆盖。


谓词下推意味着什么


"谓词"这个词听起来有些学术,其实就是 SQL 中 WHERE 后面的那些过滤条件,比如 WHERE age > 18WHERE region = 'cn-hangzhou'


当 DuckDB 通过 duckdb-paimon 查询一张 Paimon 表时,有两种处理方式:


方式一(没有谓词下推):DuckDB 向 Paimon 发起请求,Paimon 把表里所有的数据都从数据湖存储层读出来,通过网络传给 DuckDB,再由 DuckDB 的执行器在内存里逐行检查哪些符合 WHERE 条件。如果这张表有 1 亿行,哪怕最终只需要 1000 行,也得先把 1 亿行全部搬过来。


方式二(有谓词下推):DuckDB 在发起请求的同时,把 WHERE 条件也一并告知 Paimon。Paimon 在自己的存储层读取文件时,就能利用列式存储的文件级统计信息(比如每个文件中某列的最小值/最大值),直接跳过那些肯定不包含目标数据的文件,甚至在行组(row group)级别提前过滤,只把可能命中的数据传出来。


Paimon 的数据通常存放在对象存储(如阿里云 OSS、AWS S3)上,每次 I/O 都有网络开销。谓词下推减少的不只是计算量,更是从 Paimon 数据湖存储层实际读出的数据量本身。对于存储在对象存储上的大表,这个差别非常明显——扫描 1 TB 和扫描 100 GB,不只是速度上的区别,也是存储读取成本上的区别。

v0.0.2 已经具备了基本的扫描能力,但谓词下推覆盖还不完整。v0.0.3 把这部分补全,覆盖了日常 SQL 里最常见的那几类过滤条件。


谓词下推意味着什么新增支持的谓词类型

比较运算符

=!=<><=>= 这几个基础运算符现在都能下推。这是最高频的过滤场景,比如:

SELECT * FROM paimon_table WHERE age > 18;
SELECT * FROM paimon_table WHERE status != 'deleted';

NULL 判断

SELECT * FROM paimon_table WHERE email IS NULL;
SELECT * FROM paimon_table WHERE phone IS NOT NULL;

BETWEEN

范围查询是时序数据和日志表里最常见的过滤方式:

SELECT * FROM paimon_table WHERE event_time BETWEEN '2026-01-01' AND '2026-04-01';

NOT BETWEEN 同样支持。

IN / NOT IN

SELECT * FROM paimon_table WHERE region IN ('cn-hangzhou', 'cn-shanghai');
SELECT * FROM paimon_table WHERE category NOT IN ('test', 'demo');

LIKE

字符串前缀、后缀、模糊匹配:

SELECT * FROM paimon_table WHERE name LIKE 'Zhang%';

AND / OR 逻辑组合

多个条件组合后整体下推,DuckDB 解析出的谓词树按原结构传递给 Paimon:

SELECT * FROM paimon_table
WHERE region = 'cn-hangzhou'  
AND event_time >= '2026-04-01'  
AND status IN ('active', 'pending');

AND 和 OR 的嵌套组合均支持。

其他改动


安全修复:Paimon secret 中的 key_id 字段现在会在日志和错误信息中自动脱敏,避免敏感凭据被意外打印。


DuckDB 升级:底层 DuckDB 从 v1.5.1 升级至 v1.5.2。


获取方式

点击下方阅读原文,从 [GitHub Releases] 下载 Linux amd64 或 arm64 预编译包。

也可参考项目 README 从源码构建。


本期互动


评论区分享您的应用场景和使用体验,截至4月28日(含),留言且留言处点赞数前三,随机赠送社区礼品。

B1DEA4E5-F77D-41a4-A35B-1E6AE8937C1A.png

目录
相关文章
|
2月前
|
关系型数据库 MySQL 分布式数据库
你的业务库,可能就是最好的向量数据库
PolarDB MySQL版推出PolarVector,原生集成向量检索能力,无需同步数据、不新增运维体系。支持HNSW/IVF索引、多距离度量与智能过滤,兼容MySQL和OpenSearch双协议,具备ACID事务、低延迟(P95<5ms)、高召回率(>99%)等特性,适用于RAG、推荐、多模态搜索等AI场景。
246 1
你的业务库,可能就是最好的向量数据库
|
6天前
|
C# C语言 C++
VS2019下载地址和安装使用图文教程(附官网安装包)
Visual Studio 2019是微软2019年发布的稳定IDE,支持C/C++、C#等语言。Community版免费且功能完整,安装轻量、兼容性强,尤其适合老项目维护与低配设备。文中详述了下载、安装及用其编写运行C程序的完整流程。(239字)
|
16天前
|
存储 人工智能 自然语言处理
知识库为谁而建 ?
随着 Agent 的逐步广泛应用,知识库的使用者正在从人变成 Agent。 知识库的设计逻辑、维护方式、甚至存在的意义,都需要重新思考。
389 10
知识库为谁而建 ?
|
9天前
|
人工智能 缓存 API
阿里云百炼 Token Plan 三大坐席对比:Credits资费额度、Token消耗与性价比分析
阿里云百炼TokenPlan含标准版(198元/月,2.5万Credits)、高级版(698元/月,10万Credits)和尊享版(1398元/月,25万Credits)。经测算,尊享版单Credits仅0.0056元,折合百万Tokens约1.12元,显著低于按量计费(2元/百万Tokens),性价比高,值得订阅。在阿里云百炼平台:https://t.aliyun.com/U/fPVHqY 免费领取千万Tokens
|
16天前
|
数据采集 人工智能 缓存
字节面试官:别再直接让 AI 写代码了,先学会 SDD 规格驱动开发
AI编程虽快,但需求模糊易致代码失控。SDD(规格驱动开发)主张先明确定义目标、边界、行为、约束与验收标准,再让AI编码。对测试开发尤为关键——它将模糊需求转化为可测、可验、可追溯的质量规格,推动测试前置、风险可控、回归有据。
|
16天前
|
机器学习/深度学习 人工智能 网络架构
深度解析:Transformer 的“灵魂”——QKV 变换的物理直觉
本文用图书馆检索等生活隐喻,从物理意义与认知科学角度解析Transformer中QKV设计的精妙本质:解耦查询(q)、键(k)、值(v)三重角色,实现语义分离、避免自注意力“自恋”,模拟人类动态信息路由的认知过程。(239字)
329 13
|
16天前
|
人工智能 自然语言处理 计算机视觉
人工智能|大白话Meshed-Memory Transformer
M2Transformer是一种图像描述生成模型,由三部分构成:骨干编码器(Faster R-CNN)提取区域特征;记忆增强编码器(Transformer)对特征进行语义细化;网格解码器(Transformer)将增强特征转化为自然语言描述。结构清晰、层次分明,兼顾准确性与可解释性。(239字)
171 4
|
16天前
|
存储 运维 监控
《告别日志排查:OpenClaw如何修复工具错误指南》
传统工具调用系统依赖预先枚举的错误码,面对异构工具的指数级参数组合和隐蔽语义错误时彻底失效,只能靠人工排查海量日志救火。本文深入拆解OpenClaw的革命性设计,它彻底抛弃被动防御思路,构建了语法校验、语义验证、目标对齐三层递进的语义自愈体系。通过异常语义化建模、工具间协同纠错、动态粒度控制和自学习闭环,将异常转化为系统进化的养分,实现95%以上常见异常的自主修复。这套机制为通用智能体的鲁棒性提供了全新技术路径,重新定义了工具调用的可靠性标准。
205 9
|
1月前
|
人工智能 Java API
多端CRM客户关系管理系统源码下载(PHP/Java/Python)完整开源版
本文深度解析PHP、Java、Python三大技术栈的开源CRM方案,涵盖多端协同架构、RBAC权限控制、客户公海回收、RESTful API设计及AI智能化演进,助成长型企业以低成本实现私有化、可定制、高扩展的CRM自主建设。
|
2月前
|
监控 数据可视化 Java
项目二开利器:一套云MES系统源码,基于SpringBoot+Vue技术栈
这是一套自主研发、正版授权的云MES系统源码,基于SpringBoot+Vue技术栈,支持生产全流程精细化管理。涵盖订单执行、计划排程、设备车间、工艺检验、库存采购等19大模块,助力制造企业实现车间透明化与数字化升级。
219 0