告别 Python 胶水代码!DuckDB × DolphinDB 原生互通插件正式上线

5 阅读5分钟

你的数据管道里,是不是也躺着几段"不敢动"的 Python 脚本?

DolphinDB 跑实时计算,DuckDB 做本地探索——两个引擎各自强大,但中间的格式转换、类型对齐、内存溢出,总让人头疼。

现在,这段"胶水代码"可以彻底删掉了。

重磅上架

DuckDB 插件现已正式上线 DolphinDB Marketplace!

该插件由独立开发者 Boye 开发,将 DuckDB 嵌入式分析引擎与 DolphinDB 原生打通,支持双向高性能数据交互、Parquet/CSV 文件直读入库、以及复杂 SQL 外置计算。

两大引擎互通,数据自由流动。

核心亮点

  • 原生双向通道无需 Python 中转:query / load / append 三个接口覆盖完整交互链路,DolphinDB 脚本直接操作 DuckDB 数据库,类型自动对齐,包括纳秒级时间戳(TIMESTAMP_NS ↔ NANOTIMESTAMP)的精准映射。

  • 多格式文件直读简化数据管道:依托 DuckDB 的文件读取生态,SQL 直接查询本地或远程文件(Parquet、CSV、JSON 等),一行代码写入 DolphinDB 分布式表,省去格式转换和中间环节。

  • SQL 方言互补零成本复用现有脚本:DolphinDB 专注高性能时序计算(实时聚合、窗口连接、向量化执行),DuckDB 补充 ANSI SQL 完整方言支持(嵌套窗口函数、递归 CTE、复杂子查询)。团队已有的 DuckDB/PostgreSQL 分析脚本无需改写,直接执行并联动 DolphinDB 数据。

  • 流式批量写入大文件不内存溢出:load 接口自动分批读取,单文件超出内存仍可稳定处理;append 接口使用 DuckDB 专有 Appender,绕过 SQL 解析层,大数据量导出性能远超传统 INSERT语句。

  • 轻量嵌入零侵入主系统:以动态库形式加载,不修改 DolphinDB 内核,插件升级与主系统完全独立,兼容性有保障。

快速上手

安装插件:

installPlugin("duckdb")

完整使用链路:

// 场景:将本地 Parquet 行情文件写入 DolphinDB 分布式表 
conn = duckdb::connect(":memory:") 

// 直接查询 Parquet,结果流式写入 DolphinDB 
duckdb::load(conn, "SELECT * FROM read_parquet('2024/trades/*.parquet')", "dfs://tradesDB", "trades") 

// 在 DolphinDB 中完成聚合计算 
select sum(volume) from loadTable("dfs://tradesDB", "trades") group by date

通过上述三步,即可完成本地 DuckDB 与 DolphinDB 分布式数据的双向交互。Parquet 文件直读场景,可在 query 中使用 DuckDB 的 read_parquet() 函数,结合 load 接口写入 DolphinDB 分布式表。

谁适合用这个插件?

目标用户:量化研究员、数据工程师、数据分析师、系统架构师、物联网开发者

典型场景:

  • 量化研究员将本地 Parquet 行情文件快速入库,在 DolphinDB 中完成回测,或将计算结果导出至 DuckDB 做进一步探索

  • 物联网开发者用 DolphinDB 接收设备实时数据流,再通过插件将历史数据导出至 DuckDB 做离线分析与报表

  • 数据工程师统一接入异构数据源(S3 / 本地 Parquet),构建 DolphinDB 数仓的数据摄入管道

  • 分析师将 DolphinDB 大规模计算结果高效导出至本地 Jupyter 环境进行深度分析

  • 架构师构建 DolphinDB + DuckDB 混合架构,实现冷热数据分层处理

关于开发者

Boye,DuckDB 开发者

"大胆尝试,从实际需求出发。每一个小插件都能为生态添砖加瓦,也能让自己在开发过程中提升技术能力、实现自我价值。"

Boye 是一名深耕数据处理领域的独立开发者,技术栈覆盖 C++ 与 Python,专注于 DuckDB 与 DolphinDB 两大引擎的高效应用。他使用 DolphinDB 已有 5 年,长期支撑行情数据的实时采集、清洗、聚合与分析场景。

促使他开发这款插件的,是实际业务中高频遇到的跨引擎数据交互瓶颈——两大引擎之间缺少高效通道,数据流转只能依赖 Python 中转,操作链路长、类型对齐频繁出错。开发过程中,最棘手的挑战是纳秒级时间戳的精准映射(TIMESTAMP_NS ↔ NANOTIMESTAMP),经过多次调试与优化,最终实现了全数据类型的自动对齐。

未来他计划持续迭代这款插件,重点完善更多数据格式的直读支持与 SQL 兼容性,并探索 DolphinDB 与其他常用数据工具的互通方向。

立即体验

定价说明:付费订阅制,支持按季度 / 半年 / 年度订阅。

共建生态:从使用者到贡献者

社区的繁荣源于每一份分享。我们诚挚邀请开发者、技术团队加入生态共建:

  • 对于社区用户:灵活调用各类免费插件/模块资源,适配日常业务需求,无需复杂开发即可享受高性能工具加持

  • 对于企业用户:精准补齐业务短板,聚焦核心业务逻辑创新,大幅提升开发效率与流程灵活性

  • 对于开发者/技术团队:这里是技术成果转化的优质舞台。免费分享可积累行业口碑与影响力,定制化插件/模块更可实现技术变现

立即开启高效开发之旅