class_docstr: Operator used for `random_shuffle` and `repartition` transforms.
class_docstr_tok: ["Operator","used","for","`","random_shuffle","`","and","`","repartition","`","transforms","."]
code: def __init__(
      self,
      block_udf=None,
      random_shuffle: bool = False,
      random_seed: Optional[int] = None,
  ):
      super().__init__(
          map_args=[block_udf, random_shuffle, random_seed],
          reduce_args=[random_shuffle, random_seed],
      )
  
file_path: ray/python/ray/data/_internal/shuffle_and_partition.py
imports: import math
  from typing import Callable, Iterable, List, Optional, Union
  import numpy
  from ray.data._internal.delegating_block_builder import DelegatingBlockBuilder
  from ray.data._internal.execution.interfaces import TaskContext
  from ray.data._internal.push_based_shuffle import PushBasedShufflePlan
  from ray.data._internal.shuffle import ShuffleOp, SimpleShufflePlan
  from ray.data.block import Block, BlockAccessor, BlockExecStats, BlockMetadata
label_desc: Use image node_id 1 to create a new _ShufflePartitionOp object from inherited base classes: ShuffleOp with example: obj = _ShufflePartitionOp(block_udf, random_shuffle, random_seed)