关于 hugging-face-dataset-viewer
hugging-face-dataset-viewer 是一项通过 Hugging Face Dataset Viewer API 只读探索和提取数据的技能。它帮助开发者与数据从业者检查数据集配置、行、元数据和 Parquet 文件,并用 SQL 查询 Parquet 数据。
主要功能
- 01验证数据集并列出拆分
- 02预览并分页读取数据行
- 03搜索和筛选数据行
- 04获取 Parquet 链接及元数据
- 05用 SQL 查询 Parquet 数据
适用场景
- 01使用前检查数据集
- 02查找匹配文本或筛选行
- 03查看数据集大小和列统计
- 04对 Parquet 分片执行 SQL 查询
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ huggingface/ skills --skill hugging-face-dataset-viewer安装后在 Claude Code 中输入/hugging-face-dataset-viewer确认已加载。
详细介绍
Hugging Face 数据集查看器
使用此技能执行只读的 Dataset Viewer API 调用,以探索和提取数据集。
核心工作流
- 可选择通过
/is-valid验证数据集是否可用。 - 通过
/splits确定config和split。 - 使用
/first-rows预览。 - 使用
offset和length通过/rows分页获取内容(最多 100 行)。 - 使用
/search匹配文本,使用/filter筛选行。 - 通过
/parquet获取 parquet 链接,通过/size和/statistics获取总量和元数据。
默认设置
- 基础 URL:
https://datasets-server.huggingface.co - 默认 API 方法:
GET - 查询参数应进行 URL 编码。
offset从 0 开始计数。- 对于行数据类端点,
length的上限通常为100。 - 受限或私有数据集需要
Authorization: Bearer <HF_TOKEN>。
Dataset Viewer
验证数据集:/is-valid?dataset=<namespace/repo>列出子集和拆分:/splits?dataset=<namespace/repo>预览前几行:/first-rows?dataset=<namespace/repo>&config=<config>&split=<split>分页获取行:/rows?dataset=<namespace/repo>&config=<config>&split=<split>&offset=<int>&length=<int>搜索文本:/search?dataset=<namespace/repo>&config=<config>&split=<split>&query=<text>&offset=<int>&length=<int>使用谓词筛选:/filter?dataset=<namespace/repo>&config=<config>&split=<split>&where=<predicate>&orderby=<sort>&offset=<int>&length=<int>列出 parquet 分片:/parquet?dataset=<namespace/repo>获取大小总量:/size?dataset=<namespace/repo>获取列统计信息:/statistics?dataset=<namespace/repo>&config=<config>&split=<split>获取 Croissant 元数据(如果有):/croissant?dataset=<namespace/repo>
分页模式:
curl "https://datasets-server.huggingface.co/rows?dataset=stanfordnlp/imdb&config=plain_text&split=train&offset=0&length=100"
curl "https://datasets-server.huggingface.co/rows?dataset=stanfordnlp/imdb&config=plain_text&split=train&offset=100&length=100"
分页未完成时,使用 num_rows_total、num_rows_per_page 和 partial 等响应字段来决定如何继续。
搜索/筛选说明:
/search会匹配字符串列(其全文搜索行为由 API 内部实现)。/filter要求在where中使用谓词语法,并可在orderby中指定排序。- 筛选和搜索应保持只读,不产生副作用。
查询数据集
使用 npx parquetlens 和 Hub parquet 别名路径执行 SQL 查询。
Parquet 别名格式:
hf://datasets/<namespace>/<repo>@~parquet/<config>/<split>/<shard>.parquet
从 Dataset Viewer /parquet 获取 <config>、<split> 和 <shard>:
curl -s "https://datasets-server.huggingface.co/parquet?dataset=cfahlgren1/hub-stats" \
| jq -r '.parquet_files[] | "hf://datasets/\(.dataset)@~parquet/\(.config)/\(.split)/\(.filename)"'
运行 SQL 查询:
npx -y -p parquetlens -p @parquetlens/sql parquetlens \
"hf://datasets/<namespace>/<repo>@~parquet/<config>/<split>/<shard>.parquet" \
--sql "SELECT * FROM data LIMIT 20"
SQL 导出
- CSV:
--sql "COPY (SELECT * FROM data LIMIT 1000) TO 'export.csv' (FORMAT CSV, HEADER, DELIMITER ',')" - JSON:
--sql "COPY (SELECT * FROM data LIMIT 1000) TO 'export.json' (FORMAT JSON)" - Parquet:
--sql "COPY (SELECT * FROM data LIMIT 1000) TO 'export.parquet' (FORMAT PARQUET)"
创建和上传数据集
根据依赖限制,选择以下一种流程。
零本地依赖(Hub UI):
- 在浏览器中创建数据集仓库:
https://huggingface.co/new-dataset - 在仓库的“Files and versions”页面上传 parquet 文件。
- 验证分片是否出现在 Dataset Viewer 中:
curl -s "https://datasets-server.huggingface.co/parquet?dataset=<namespace>/<repo>"
低依赖 CLI 流程(npx @huggingface/hub / hfjs):
- 设置身份验证令牌:
export HF_TOKEN=<your_hf_token>
- 将 parquet 文件夹上传到数据集仓库(如果仓库不存在则自动创建):
npx -y @huggingface/hub upload datasets/<namespace>/<repo> ./local/parquet-folder data
- 创建仓库时将其设为私有:
npx -y @huggingface/hub upload datasets/<namespace>/<repo> ./local/parquet-folder data --private
上传后,调用 /parquet 获取 <config>/<split>/<shard> 值,以便使用 @~parquet 进行查询。
评论
支持 Markdown