SuperAPI AI 工具集

duckdb

数据与分析

查看项目

更新于 10-15 23:45

技能介绍

用途:DuckDB 是一个独立的命令行分析型 SQL 引擎,用于在 shell 中直接查询、分析、转换本地数据文件,包括 JSON、JSONL、NDJSON、CSV、TSV、Parquet 以及 SQLite,无需数据库服务器或导入步骤。

主要能力:支持读取 JSON/JSONL 嵌套结构、点访问、1 基数组下标与 unnest();自动识别 CSV/TSV,可直接读取 .gz、.zst 压缩文件;读取 Parquet 通配符并可用 parquet_schema() 查看结构;支持 /dev/stdin 流式读取;可连接原生 DuckDB 与 SQLite 数据库(.db、.duckdb、.sqlite)。输出格式可选 -box、-json、-csv、-markdown,-bail 可在首个错误处停止。

使用方式:在非交互式子 shell 中必须同时使用 -batch -dark-mode,仅 -batch 无法禁用 5 秒终端背景色探测超时。若出现 command not found,可将 ~/.local/share/mise/shims 加入非交互 shell 读取的 PATH,或用 brew install duckdb、下载 GitHub Releases 的 CLI 二进制。命令示例:duckdb -batch -dark-mode -box -c "SELECT 42 AS answer;"。

注意事项:数组下标从 1 开始,arr[0] 会越界报错;读取键不一致的 JSONL 时需 union_by_name=true,损坏行需 ignore_errors=true;嵌套对象按 JSON 或 JSON[] 类型可能返回带引号的原始标量,应显式声明 STRUCT(...)[] 或用 ->> 提取;.db 可能是 DuckDB 或 SQLite,格式不明时先用 file 判断。详细 SQL 配方见 references/recipes.md。其他收费与平台细节暂未提供。