.parquet .csv .tsv .json .ndjson .xlsx .xls
,可同时拖入多个文件做 JOIN
浏览器原生 OLAP 引擎
把 Parquet / CSV / JSON / Excel 文件直接拖进浏览器窗口,即可编写 SQL 查询、执行 JOIN 操作、进行数据聚合分析,并将结果导出为 Parquet、CSV、JSON 等多种格式。底层基于 @duckdb/duckdb-wasm —— 一个将 DuckDB 的 C++ 内核编译为 WebAssembly 的高性能引擎,与桌面版 DuckDB 完全兼容,仅需加载约 35MB 的 WASM 模块即可在浏览器中运行。
为何选择浏览器端运行
DuckDB 是近年来备受关注的「嵌入式分析型数据库」:采用列式存储、向量化执行引擎,原生支持 Parquet/CSV 零拷贝读取,兼容 PostgreSQL 语法。它被定位为「数据分析师的 SQLite」—— 无需部署服务端、无需安装客户端、单文件即可运行。将其编译为 WebAssembly 后,浏览器便拥有了一个本地 OLAP 查询引擎:你可以在前端执行 SQL JOIN、聚合统计、窗口函数等复杂操作,性能接近原生 CLI。
数据安全优先
本工具不设任何后端服务,文件通过 db.registerFileBuffer() 注册到 DuckDB 内部虚拟文件系统,所有解析与查询均在浏览器内存中完成,数据不会离开你的设备。WASM 引擎从 CDN 加载(约 35MB),加载完成后即可离线使用。
功能概览
界面分为三个核心区域:左侧为已加载的表结构树(显示表名、行数、列名及数据类型),点击表名可一键生成 SELECT * FROM table LIMIT 100 查询;右上为 SQL 编辑器(基于 CodeMirror,支持语法高亮、自动补全、快捷键 Ctrl+Enter 执行);右下为查询结果区(展示列名、数据类型、行数、执行耗时,支持导出为 Parquet/CSV/JSON 或复制为 TSV 格式)。
跨表关联查询
支持同时加载多个数据文件,每个文件自动注册为独立的数据表,可直接编写跨表 JOIN 查询:
SELECT u.name, COUNT(*) AS cnt FROM events e JOIN users u ON e.user_id = u.id GROUP BY 1 ORDER BY 2 DESC LIMIT 20;
与连接真实数据库几乎无异 —— 这也是 DuckDB 在数据分析领域广受好评的原因之一。
配套工具
如需查看 Parquet 文件结构和样本数据,可使用页面底部的 Parquet 预览器;完成查询后如需转换数据格式,可搭配 JSON/CSV 转换工具、代码格式化工具(DuckDB SQL 也支持 sql-formatter 美化)。多个工具组合使用,覆盖「数据浏览 → 分析查询 → 结果导出」的完整工作流。
使用场景
临时数据探索
收到同事发来的 events.parquet + users.csv,无需安装任何客户端,直接拖入浏览器执行 SQL 关联查询,几分钟内完成分析。
CSV 替代电子表格
不想用 Excel 透视表也不愿写 pandas 脚本,直接将 CSV 拖入,执行 SELECT col, COUNT(*) FROM data GROUP BY 1 ORDER BY 2 DESC,比手动操作更高效。
验证 SQL 语法
在编写复杂的窗口函数 / CTE / QUALIFY / GROUP BY ALL 语句前,先在小样本数据上测试,DuckDB 语法与 PostgreSQL 高度兼容。
现场演示数据
向客户展示「能否这样查询」,浏览器实时执行实时展示结果,无需准备数据库实例也无需安装客户端。
结果数据交付
执行完 SQL 后一键导出 CSV 给运营/财务团队,或导出 JSON 给前端做 Mock 数据,省去 pandas to_csv 的中间步骤。
常见问题
首次使用需要下载 DuckDB 的 WebAssembly 引擎(约 35MB),加载完成后会缓存在浏览器中,后续使用将秒开。建议在稳定网络环境下首次访问。
目前支持 Parquet、CSV、TSV、JSON、NDJSON、XLSX、XLS 七种格式。其中 Parquet 和 CSV 是最常用的分析数据格式,JSON 适合 API 返回的数据。
理论上受限于浏览器可用内存。实测几十 MB 的 Parquet/CSV 文件可流畅处理,超大文件(数百 MB)可能因内存不足导致页面卡顿。建议对大文件先进行筛选或裁剪。
是的。DuckDB 的 SQL 方言与 PostgreSQL 高度兼容,支持窗口函数、CTE、数组类型、JSON 操作等高级特性,绝大多数 Postgres 查询可直接运行。
可以。除了 SELECT 查询,也支持 INSERT、UPDATE、DELETE、CREATE TABLE、DROP TABLE 等 DDL/DML 操作。修改仅在当前浏览器会话中生效,刷新后恢复原状。
将多个文件拖入或选择后,每个文件会自动注册为独立的数据表(以文件名命名),随后即可在 SQL 中直接 JOIN 这些表名,与操作传统数据库完全一致。
Parquet 预览器专注于快速查看文件结构和样本数据,适合「看一眼」的场景;本工具则提供完整的 SQL 查询能力,支持复杂分析、多表关联、结果导出等深度操作。
