DuckDB
DuckDB 是一个进程内 SQL OLAP 数据库管理系统。
你可以使用 Hugging Face 路径(hf://)访问 Hub 上的数据:

DuckDB CLI(命令行界面)是一个单一、无依赖的可执行文件。 还有其他可用于运行 DuckDB 的 API,包括 Python、C++、Go、Java、Rust 等。有关更多详细信息,请访问他们的客户端页面。
提示
有关安装详细信息,请访问安装页面。
从版本 v0.10.3 开始,DuckDB CLI 包含通过 hf:// 方案 URL 访问 Hugging Face Hub 上数据集的原生支持。以下是一些你可以利用此强大工具的功能:
- 查询公共数据集和你自己的门控和私有数据集
- 分析数据集并执行 SQL 操作
- 合并数据集并导出为不同格式
- 在嵌入数据集上执行向量相似性搜索
- 在数据集上实现全文搜索
有关 DuckDB 功能的完整列表,请访问 DuckDB 文档。
要启动 CLI,请在安装文件夹中执行以下命令:
./duckdb
构建 Hugging Face URL
要访问 Hugging Face 数据集,请使用以下 URL 格式:
hf://datasets/{my-username}/{my-dataset}/{path_to_file}
- my-username,数据集的用户或组织,例如
ibm - my-dataset,数据集名称,例如:
duorc - path_to_parquet_file,parquet 文件路径,支持 glob 模式,例如
**/*.parquet,以查询所有 parquet 文件
提示
你可以使用 @~parquet 分支查询自动转换的 Parquet 文件,它对应于
refs/convert/parquet修订版本。有关更多详细信息,请参阅 https://huggingface.co/docs/datasets-server/en/parquet#conversion-to-parquet 的文档。
要引用数据集的 refs/convert/parquet 修订版本,请使用以下语法:
hf://datasets/{my-username}/{my-dataset}@~parquet/{path_to_file}以下是遵循上述语法的示例 URL:
hf://datasets/ibm/duorc@~parquet/ParaphraseRC/test/0000.parquet
让我们从一个快速演示开始,查询数据集的所有行:
FROM 'hf://datasets/ibm/duorc/ParaphraseRC/*.parquet' LIMIT 3;
或使用传统 SQL 语法:
SELECT * FROM 'hf://datasets/ibm/duorc/ParaphraseRC/*.parquet' LIMIT 3;
在以下部分中,我们将介绍你可以在 Hugging Face 数据集上使用 DuckDB 执行的更复杂的操作。