class_docstr: Default block write path provider implementation that writes each
  dataset block out to a file of the form:
  {base_path}/{dataset_uuid}_{task_index}_{block_index}.{file_format}
code: def _get_write_path_for_block(
      self,
      base_path: str,
      *,
      filesystem: Optional["pyarrow.fs.FileSystem"] = None,
      dataset_uuid: Optional[str] = None,
      task_index: Optional[int] = None,
      block_index: Optional[int] = None,
      file_format: Optional[str] = None,
  ) -> str:
      assert task_index is not None
      # Add the task index to the filename to make sure that each task writes
      # to a different and deterministically generated filename.
      if block_index is not None:
          suffix = f"{dataset_uuid}_{task_index:06}_{block_index:06}.{file_format}"
      else:
          suffix = f"{dataset_uuid}_{task_index:06}.{file_format}"
      # Uses POSIX path for cross-filesystem compatibility, since PyArrow
      # FileSystem paths are always forward slash separated, see:
      # https://arrow.apache.org/docs/python/filesystems.html
      return posixpath.join(base_path, suffix)
  
file_path: ray/python/ray/data/datasource/block_path_provider.py
imports: import posixpath
  from typing import TYPE_CHECKING, Optional
  from ray.util.annotations import DeveloperAPI
label_desc: Use image node_id 1 for calling the DefaultBlockWritePathProvider obj's underlying member method code with example usage: obj._get_write_path_for_block(base_path) and returns: posixpath