ray.data.读取二进制文件#
- ray.data.read_binary_files(paths: str | List[str], *, include_paths: bool = False, filesystem: pyarrow.fs.FileSystem | None = None, parallelism: int = -1, ray_remote_args: Dict[str, Any] = None, arrow_open_stream_args: Dict[str, Any] | None = None, meta_provider: BaseFileMetadataProvider | None = None, partition_filter: PathPartitionFilter | None = None, partitioning: Partitioning = None, ignore_missing_paths: bool = False, shuffle: Literal['files'] | None = None, file_extensions: List[str] | None = None, concurrency: int | None = None, override_num_blocks: int | None = None) Dataset [源代码]#
从任意内容的二进制文件创建一个
Dataset
。示例
读取远程存储中的文件。
>>> import ray >>> path = "s3://anonymous@ray-example-data/pdf-sample_0.pdf" >>> ds = ray.data.read_binary_files(path) >>> ds.schema() Column Type ------ ---- bytes binary
读取多个本地文件。
>>> ray.data.read_binary_files( ... ["local:///path/to/file1", "local:///path/to/file2"])
读取一个文件,文件路径作为数据集中的一个列包含在内。
>>> path = "s3://anonymous@ray-example-data/pdf-sample_0.pdf" >>> ds = ray.data.read_binary_files(path, include_paths=True) >>> ds.take(1)[0]["path"] 'ray-example-data/pdf-sample_0.pdf'
- 参数:
paths – 单个文件或目录,或文件或目录路径的列表。路径列表可以同时包含文件和目录。
include_paths – 如果
True
,则包含每个文件的路径。文件路径存储在'path'
列中。filesystem – 用于读取的 PyArrow 文件系统实现。这些文件系统在 PyArrow 文档 中指定。如果需要为文件系统提供特定配置,请指定此参数。默认情况下,文件系统会根据路径的方案自动选择。例如,如果路径以
s3://
开头,则使用S3FileSystem
。ray_remote_args – 传递给读取任务中
remote()
的 kwargs。parallelism – 此参数已弃用。请使用
override_num_blocks
参数。arrow_open_stream_args – 传递给 pyarrow.fs.FileSystem.open_input_file 的 kwargs。
meta_provider – 一个 文件元数据提供者 。自定义元数据提供者可能能够更快和/或更准确地解析文件元数据。在大多数情况下,您不需要设置此项。如果为
None
,此函数使用系统选择的实现。partition_filter – 一个
PathPartitionFilter
。与自定义回调一起使用,以仅读取数据集的选定分区。默认情况下,不筛选任何文件。默认情况下,不会筛选出任何文件。partitioning – 一个描述路径如何组织的
Partitioning
对象。默认为None
。ignore_missing_paths – 如果为 True,则忽略
paths
中未找到的任何文件路径。默认为 False。shuffle – 如果设置为“files”,则在读取前随机打乱输入文件的顺序。默认不进行打乱,设置为
None
。file_extensions – 用于过滤文件的文件扩展名列表。
concurrency – Ray 任务的最大并发运行数量。设置此项以控制并发运行的任务数量。这不会改变运行的总任务数或输出的总块数。默认情况下,并发性是根据可用资源动态决定的。
override_num_blocks – 覆盖所有读取任务的输出块数量。默认情况下,输出块的数量是根据输入数据大小和可用资源动态决定的。在大多数情况下,您不应手动设置此值。
- 返回:
Dataset
生成从指定路径读取的行。