code: def __init__(
      self,
      path: str,
      *,
      arrow_csv_args_fn: Callable[[], Dict[str, Any]] = lambda: {},
      arrow_csv_args: Optional[Dict[str, Any]] = None,
      file_format="csv",
      **file_datasink_kwargs,
  ):
      super().__init__(
          path, file_format=file_format, **file_datasink_kwargs
      )
  
      if arrow_csv_args is None:
          arrow_csv_args = {}
  
      self.arrow_csv_args_fn = arrow_csv_args_fn
      self.arrow_csv_args = arrow_csv_args
  
file_path: ray/python/ray/data/datasource/csv_datasink.py
imports: from typing import Any, Callable, Dict, Optional
  import pyarrow
  from ray.data.block import BlockAccessor
  from ray.data.datasource.file_based_datasource import _resolve_kwargs
  from ray.data.datasource.file_datasink import BlockBasedFileDatasink
label_desc: Use image node_id 1 to create a new _CSVDatasink object from inherited base classes: BlockBasedFileDatasink with example: obj = _CSVDatasink(path)