全局配置#
- class ray.data.DataContext(target_max_block_size: int = 134217728, target_shuffle_max_block_size: int = 1073741824, target_min_block_size: int = 1048576, streaming_read_buffer_size: int = 33554432, enable_pandas_block: bool = True, actor_prefetcher_enabled: bool = False, use_push_based_shuffle: bool = False, pipeline_push_based_shuffle_reduce_tasks: bool = True, scheduling_strategy: None | str | ~ray.util.scheduling_strategies.PlacementGroupSchedulingStrategy | ~ray.util.scheduling_strategies.NodeAffinitySchedulingStrategy | ~ray.util.scheduling_strategies.NodeLabelSchedulingStrategy = 'SPREAD', scheduling_strategy_large_args: None | str | ~ray.util.scheduling_strategies.PlacementGroupSchedulingStrategy | ~ray.util.scheduling_strategies.NodeAffinitySchedulingStrategy | ~ray.util.scheduling_strategies.NodeLabelSchedulingStrategy = 'DEFAULT', large_args_threshold: int = 52428800, use_polars: bool = False, eager_free: bool = True, decoding_size_estimation: bool = True, min_parallelism: int = 200, read_op_min_num_blocks: int = 200, enable_tensor_extension_casting: bool = True, enable_auto_log_stats: bool = False, verbose_stats_logs: bool = False, trace_allocations: bool = False, execution_options: ExecutionOptions = <factory>, use_ray_tqdm: bool = True, enable_progress_bars: bool = True, enable_operator_progress_bars: bool = True, enable_progress_bar_name_truncation: bool = True, enable_get_object_locations_for_metrics: bool = False, write_file_retry_on_errors: ~typing.List[str] = ('AWS Error INTERNAL_FAILURE', 'AWS Error NETWORK_CONNECTION', 'AWS Error SLOW_DOWN', 'AWS Error UNKNOWN (HTTP status 503)'), warn_on_driver_memory_usage_bytes: int = 2147483648, actor_task_retry_on_errors: bool | ~typing.List[BaseException] = False, op_resource_reservation_enabled: bool = True, op_resource_reservation_ratio: float = 0.5, max_errored_blocks: int = 0, log_internal_stack_trace_to_stdout: bool = False, raise_original_map_exception: bool = False, print_on_execution_start: bool = True, s3_try_create_dir: bool = False, wait_for_min_actors_s: int = 600, retried_io_errors: ~typing.List[str] = <factory>)[源代码]#
Ray Data 的全局设置。
配置此类以启用高级功能并调整性能。
警告
在创建
Dataset
之前应用更改。之后所做的更改将不会生效。备注
此对象会自动传播到工作节点。通过
DataContext.get_current()
从驱动程序和远程工作节点访问它。示例
>>> from ray.data import DataContext >>> DataContext.get_current().enable_progress_bars = False
- 参数:
target_max_block_size – 读取和转换的最大目标块大小(以字节为单位)。
target_shuffle_max_block_size –
random_shuffle
、sort
和repartition
等 shuffle 操作的最大目标块大小(以字节为单位)。target_min_block_size – Ray Data 在读取时避免创建小于此字节大小的块。这优先于
read_op_min_num_blocks
。streaming_read_buffer_size – 从本地或远程存储进行流式读取时的缓冲区大小。
enable_pandas_block – 是否启用了 pandas 块格式。
actor_prefetcher_enabled – 是否使用基于角色的块预取器。
use_push_based_shuffle – 是否使用基于推送的洗牌。
pipeline_push_based_shuffle_reduce_tasks
scheduling_strategy – 全局调度策略。对于参数较大的任务,
scheduling_strategy_large_args
优先。scheduling_strategy_large_args – 具有大参数的任务调度策略。
large_args_threshold – 任务参数被视为大参数的字节大小。选择一个值,使得数据传输开销相对于任务调度(即几十毫秒)是显著的。
use_polars – 是否使用 Polars 对表格数据集进行排序、分组和聚合。
eager_free – 是否急切地释放内存。
decoding_size_estimation – 是否估算数据源的内存解码数据大小。
min_parallelism – 此设置已弃用。请改用
read_op_min_num_blocks
。read_op_min_num_blocks – 数据集的最小读取输出块数。
enable_tensor_extension_casting – 是否自动将 Pandas DataFrame 中的 NumPy ndarray 列转换为张量扩展列。
enable_auto_log_stats – 是否在执行后自动记录统计信息。如果禁用,您仍然可以使用
Dataset.stats()
手动打印统计信息。verbose_stats_logs – 统计日志是否应该详细。这包括统计输出中的
extra_metrics
等字段,这些字段默认情况下是被排除的。trace_allocations – 是否跟踪分配/急速释放。这会显著增加性能开销,仅应用于调试。
execution_options – 要使用的
ExecutionOptions
。use_ray_tqdm – 是否启用分布式 tqdm。
enable_progress_bars – 是否启用进度条。
enable_progress_bar_name_truncation – 如果为 True,进度条的名称(通常是操作符名称)将在超过
ProgressBar.MAX_NAME_LENGTH
时被截断。否则,将显示完整的操作符名称。enable_get_object_locations_for_metrics – 是否为指标启用
get_object_locations
。write_file_retry_on_errors – 在写文件时应触发重试的错误消息子字符串列表。这在处理写入远程存储系统时的瞬态错误时非常有用。
warn_on_driver_memory_usage_bytes – 如果驱动内存超过此阈值,Ray Data 会提醒您。目前,这仅适用于洗牌操作,因为大多数其他操作不太可能使用如此多的驱动内存。
actor_task_retry_on_errors – 演员任务应重试的应用程序级错误。这遵循与 Ray Core 中的 retry_exceptions 相同的格式。默认设置为
False
以不重试任何错误。设置为True
以重试所有错误,或设置为要重试的错误列表。enable_op_resource_reservation – 是否为每个操作员保留资源。
op_resource_reservation_ratio – 每个运营商预留的总资源比例。
max_errored_blocks – 允许出错的块的最大数量,如果为负数则表示无限制。此选项允许在块处理任务中出现应用程序级别的异常。这些异常可能是由UDF(例如,由于数据样本损坏)或IO错误引起的。失败块中的数据将被丢弃。此选项可用于防止由于少量坏块而导致长时间运行的作业失败。
log_internal_stack_trace_to_stdout – 是否在记录到标准输出时包含内部 Ray Data/Ray Core 代码堆栈帧。完整的堆栈跟踪始终写入 Ray Data 日志文件。
raise_original_map_exception – 是否在映射UDF中遇到原始异常时抛出该异常,而不是将其包装在
UserCodeException
中。print_on_execution_start – 如果
True
,在执行开始时打印执行信息。s3_try_create_dir – 如果
True
,在写入调用时尝试使用 S3 URI 创建 S3 上的目录。wait_for_min_actors_s – 在引发超时之前,等待最小请求的执行者启动的默认时间,以秒为单位。
retried_io_errors – 在读取或写入文件时应触发重试的错误消息子字符串列表。这对于处理从远程存储系统读取时的瞬时错误非常有用。
开发者API: 此API可能会在Ray的次要版本之间发生变化。
获取或创建一个单例上下文。 |