使用 DuckDB UI 查询 Hugging Face 数据集
Hugging Face 托管着高达 38.4 万多个数据集,其数据量从几千行到数亿行不等。尽管基于浏览器的 Data Studio(由 DuckDB WASM 提供支持)功能强大,但探索超大型数据集或运行复杂查询有时会受到浏览器限制。
这正是新的 DuckDB 本地 UI 发挥作用的地方!从 DuckDB v1.2.1 开始,Motherduck 和 DuckDB Labs 合作,为 DuckDB CLI 带来了本地 UI。
这尤其强大,因为它利用了您本地机器的资源(CPU、RAM),绕过了浏览器限制,可以对任何 Hugging Face 数据集进行显著更快、更复杂的查询。
为什么要使用 DuckDB UI?
- 充分利用您机器的 CPU 核心和可用内存
- 对于数百万行的数据集,速度显著提升
- 功能齐全的 UI
- 列探索器
- 模式查看器
- 表格摘要
- 类似笔记本的单元格
我最喜欢的功能是列探索器。

图片来源:DuckDB.org
入门
要启动 UI,只需打开终端并运行
duckdb --ui
如果您之前没有安装过 DuckDB,它非常简单,只需
curl https://install.duckdb.org | sh
或者通过 Homebrew
brew install duckdb
这将自动启动 DuckDB 并带有一个内存数据库。
连接到超过 38.4 万个 Hugging Face 数据集
DuckDB 提供了与 Hugging Face 数据集的无缝集成。以下是两种主要的连接方式
方法 1:使用 hf:// 协议
DuckDB 的 httpfs 扩展支持 hf:// 协议,允许您直接查询数据集。为了获得最佳性能,请在路径中使用 @~parquet 后缀。这会告诉 DuckDB 访问 Hugging Face 托管的数据集的 Parquet 文件转换(效率更高)。这里有一份有用的指南可以帮助您了解 hf://
协议的工作原理。

例如,如果我们想查询 glaiveai/reasoning-v1-20m 数据集,SQL 看起来会是这样。
select * from 'hf://datasets/glaiveai/reasoning-v1-20m@~parquet/default/train/*.parquet' limit 500
方法 2:使用 Data Studio 中的“复制到 DuckDB CLI”按钮(更快)
Hugging Face Data Studio 提供了一个便捷的快捷方式
- 导航到 Hugging Face Hub 上的数据集(例如,facebook/natural_reasoning)
- 打开 Data Studio
- 运行任何初始查询(或者只运行默认的 LIMIT 10 查询)
- 点击“复制到 DuckDB CLI”按钮
这会将 SQL 代码复制到您的剪贴板,该代码首先为数据集分割创建一个方便的视图,并包含您的查询。
观看其工作原理
SQL 看起来像这样
CREATE VIEW train AS (SELECT * FROM read_parquet('hf://datasets/facebook/natural_reasoning@~parquet/default/train/*.parquet'));
-- The SQL console is powered by DuckDB WASM and runs entirely in the browser.
-- Get started by typing a query or selecting a view from the options below.
SELECT * FROM train LIMIT 10
如果我们将此复制到 DuckDB UI 并运行它。我们得到的结果看起来是这样的!
总而言之,DuckDB 本地 UI 提供了一种快速、强大且功能丰富的方法,可以直接在您的机器上探索 Hugging Face 数据集。快来试试吧!
您是否使用过 DuckDB 和 HF 数据集?请告诉我们您的体验!