ray.data.Dataset.write_numpy#
- Dataset.write_numpy(path: str, *, column: str, filesystem: pyarrow.fs.FileSystem | None = None, try_create_dir: bool = True, arrow_open_stream_args: Dict[str, Any] | None = None, filename_provider: FilenameProvider | None = None, num_rows_per_file: int | None = None, ray_remote_args: Dict[str, Any] = None, concurrency: int | None = None) None[源代码]#
将
Dataset的一列写入 .npy 文件。这仅支持可以转换为 NumPy 数组的数集中的列。
文件的数量由数据集中的块数决定。要控制块的数量,请调用
repartition()。默认情况下,输出文件的格式为
{uuid}_{block_idx}.npy,其中uuid是数据集的唯一标识符。要修改此行为,请实现自定义的FilenameProvider并将其作为filename_provider参数传递。备注
此操作将触发对此数据集执行的延迟转换。
示例
>>> import ray >>> ds = ray.data.range(100) >>> ds.write_numpy("local:///tmp/data/", column="id")
时间复杂度:O(数据集大小 / 并行度)
- 参数:
path – 目标根目录的路径,npy 文件将写入该目录。
column – 包含要写入数据的列的名称。
filesystem – 要写入的 pyarrow 文件系统实现。这些文件系统在 pyarrow 文档 中指定。如果需要为文件系统提供特定配置,请指定此项。默认情况下,文件系统会根据路径的方案自动选择。例如,如果路径以
s3://开头,则使用S3FileSystem。try_create_dir – 如果
True,尝试创建目标路径中的所有目录。如果所有目录已经存在,则不执行任何操作。默认为True。arrow_open_stream_args – 传递给 pyarrow.fs.FileSystem.open_output_stream 的 kwargs,用于打开文件进行写入时使用。
filename_provider – 一个
FilenameProvider实现。使用此参数自定义文件名的外观。num_rows_per_file – 每个文件要写入的目标行数。如果为
None,Ray Data 会写入系统选择的行数到每个文件。指定的值是一个提示,不是严格的限制。Ray Data 可能会写入更多或更少的行到每个文件。ray_remote_args – 传递给写任务中
remote()的 kwargs。concurrency – Ray 任务的最大并发运行数量。设置此参数以控制并发运行的任务数量。这不会改变运行的任务总数。默认情况下,并发性是根据可用资源动态决定的。