跳到主要内容

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)