DuckDB 与 Hugging Face:直接查询数据集
DuckDB 自 v0.10.3(2024年5月)起支持通过 hf:// 协议直接对 Hugging Face Hub 上的数据集执行 SQL 查询,无需先下载文件到本地。 每个 HF 数据集本质是一个 git 仓库(存储 CSV/JSONL/Parquet),DuckDB 在 httpfs 扩展上叠加了 hf:// 路径方案,可直接读取远程文件,并按列裁剪(Parquet 列式扫描)。 文中给出多类实操示例:单文件读取(CSV/JSONL/Parquet)、glob 跨文件聚合(如 MMLU 多个 task 的 Parquet)、通过 @ 后缀锁定具体 commit 或 ~parquet 自动转换分支实现可复现分析、用 COPY 把过滤结果写成本地 Parquet、用 read_parquet 跨 task 汇总、与本地表 join,以及通过 DuckDB Secrets Manager 管理 HF token 访问私有/门控数据集。 适用场景包括数据探查、训练子集抽取、基准评测集分析、跨数据源 join 和可复现研究。整篇是 DuckDB 官方团队撰写的技术教程,代码示例清晰、覆盖面广,适合需要查询 HF 上数据集但不想搭数据管线的工程师。 






