ray.data.datasource.Partitioning#

class ray.data.datasource.Partitioning(style: PartitionStyle, base_dir: str | None = None, field_names: List[str] | None = None, filesystem: pyarrow.fs.FileSystem | None = None)[源代码]#

基类:object

用于描述基于路径的分区方案。

基于路径的分区格式将所有分区键和值直接嵌入其数据集文件路径中。

例如,要读取一个 Hive 风格的分区 的数据集:

>>> import ray
>>> from ray.data.datasource.partitioning import Partitioning
>>> ds = ray.data.read_csv(
...     "s3://anonymous@ray-example-data/iris.csv",
...     partitioning=Partitioning("hive"),
... )

相反,如果你的文件是按如下目录结构排列的:

root/dog/dog_0.jpeg
root/dog/dog_1.jpeg
...

root/cat/cat_0.jpeg
root/cat/cat_1.jpeg
...

然后你可以使用基于目录的分区:

>>> import ray
>>> from ray.data.datasource.partitioning import Partitioning
>>> root = "s3://anonymous@air-example-data/cifar-10/images"
>>> partitioning = Partitioning("dir", field_names=["class"], base_dir=root)
>>> ds = ray.data.read_images(root, partitioning=partitioning)

开发者API: 此API可能会在Ray的次要版本之间发生变化。

方法

属性

base_dir

"/"-分隔的基本目录,所有分区路径应存在于其下(独占)。

field_names

分区键字段名称(即表格数据集的列名称)。

filesystem

将用于分区路径文件I/O的文件系统。

normalized_base_dir

返回为兼容文件系统而规范化的基础目录。

resolved_filesystem

返回与基本目录兼容的文件系统解析结果。

style

分区样式 - 可以是 HIVE 或 DIRECTORY。