本地数据实验场
在浏览器中导入本地 CSV、JSON、JSONL 或 Parquet,并使用 DuckDB SQL 查询。
输入内容和文件始终留在浏览器中
导入本地数据
将数据文件拖到这里
支持 CSV、TSV、JSON、JSONL、NDJSON 或 Parquet。可导入多个文件进行表连接。
生成的示例会引用表名,因此支持空格和非拉丁字符。
文件始终留在本设备。DuckDB 通过本站资源在专用 Web Worker 中运行;SQL 无法读取网址或其他浏览器文件。
限制:每个输入 1 GiB,文本转码 128 MiB,DuckDB 内存 512 MiB,预览 100,000 行,每页 500 行,回退下载或 Parquet 512 MiB。JSON/JSONL 会作为扁平记录集一次性在内存中解码,而非分块处理。取消会释放所有表。
已导入的表
尚未导入表。
SQL 查询
按 Ctrl 或 Cmd + Enter 运行。仅允许一条本地只读 SELECT 或 WITH 语句。
导入表并运行查询后即可浏览结果。
导出完整结果
CSV、JSON 和 JSONL 会分块写入所选文件。Parquet 使用单个有界缓冲区。备用下载上限为 512 MiB。
本页内容
本地数据实验场在浏览器中运行 DuckDB-WASM,无需上传数据即可查询 CSV、JSON、JSONL 和 Parquet。每个文件使用你指定的 SQL 表名,也可以连接多个文件。
详细功能
DuckDB 和 Web Worker 均由 MyDevTools 本站提供,并仅在首次导入时加载。无需 SharedArrayBuffer、跨源隔离、服务器或外部 CDN。用户查询的外部访问、扩展安装、URL 读取器和数据库修改语句均被禁用。
编辑器支持 DuckDB SELECT 和 WITH,包括筛选、分组、聚合、排序与 JOIN。预览明确限制为 100,000 行;虚拟表每次最多请求 500 行。整数和小数不会转换为 JavaScript Number。
CSV、JSON 和 JSONL 以带背压的分块方式导出。Parquet 由 DuckDB 在单个缓冲区中生成。备用下载和 Parquet 上限为 512 MiB。
实用示例
SELECT:将 orders.csv 导入为 orders,运行 SELECT * FROM "orders" LIMIT 100。
WHERE:按状态在本地筛选。
GROUP BY:按国家分组并汇总金额。
JOIN:导入 customers.parquet,使用共同键连接两个表。
如何使用此工具
导入文件
选择格式、表名和 CSV 选项。
编写本地 SQL
从 SELECT、WHERE、GROUP BY 或 JOIN 示例开始,按 Ctrl/Cmd + Enter。
浏览结果
虚拟表一次只传输并渲染一个小页面。
导出或重启
导出 CSV、JSON、JSONL 或 Parquet。取消或重启会终止 worker 并释放数据。
提示和最佳实践
- 使用双引号引用表名和列名。
- 对大文件使用 LIMIT 和精确的 WHERE。
- CSV 类型推断可能把带前导零的标识符变成数字;需要保留原始文本时请使用数据格式转换器。
- BIGINT 和 DECIMAL 不会经由 Number 舍入。
- 取消会终止 worker,之后必须重新导入。
- CSV/JSON/JSONL 可流式写入;Parquet 缓冲上限为 512 MiB。