Daft
Daft 是一个高性能数据引擎,为任何模态和规模提供简单可靠的数据处理。Daft 原生支持从 Hugging Face 数据集读取和写入。

开始使用
要开始使用,请使用 huggingface 功能安装 daft:
pip install 'daft[huggingface]'
读取
Daft 能够使用 daft.read_huggingface() 函数或通过 hf://datasets/ 协议直接从 Hugging Face Hub 读取数据集。
读取整个数据集
使用 daft.read_huggingface(),你可以轻松加载数据集。
import daft
df = daft.read_huggingface("username/dataset_name")
这会将整个数据集读取到 DataFrame 中。
读取特定文件
你不仅可以读取整个数据集,还可以从数据集仓库读取单个文件。使用接受路径的读取函数(如 daft.read_parquet()、daft.read_csv() 或 daft.read_json()),通过 hf://datasets/ 前缀指定 Hugging Face 数据集路径:
import daft
# 读取特定的 Parquet 文件
df = daft.read_parquet("hf://datasets/username/dataset_name/file_name.parquet")
# 或 CSV 文件
df = daft.read_csv("hf://datasets/username/dataset_name/file_name.csv")
# 或使用 glob 模式读取一组 Parquet 文件
df = daft.read_parquet("hf://datasets/username/dataset_name/**/*.parquet")
写入
Daft 能够使用 daft.DataFrame.write_huggingface 将 Parquet 文件写入 Hugging Face 数据集仓库。Daft 支持内容定义分块和 Xet,以实现更快、去重的写入。
基本用法:
import daft
df: daft.DataFrame = ...
df.write_huggingface("username/dataset_name")
有关更多信息,请参阅 DataFrame.write_huggingface API 页面。
身份验证
daft.io.HuggingFaceConfig 中的 token 参数可用于为需要身份验证的请求指定 Hugging Face 访问令牌(例如,读取私有数据集仓库或写入数据集仓库)。
使用指定令牌加载数据集的示例:
from daft.io import IOConfig, HuggingFaceConfig
io_config = IOConfig(hf=HuggingFaceConfig(token="your_token"))
df = daft.read_parquet("hf://datasets/username/dataset_name", io_config=io_config)