code: def _movielens(
      root: str,
      *,
      include_movies_data: bool = False,
      # pyre-ignore[2]
      row_mapper: Optional[
          Callable[[List[str]], Any]
      ] = _default_row_mapper,
      # pyre-ignore[2]
      **open_kw,
  ) -> IterDataPipe:
      ratings_path = os.path.join(root, RATINGS_FILENAME)
      datapipe = LoadFiles((ratings_path,), mode="r", **open_kw)
      datapipe = ReadLinesFromCSV(
          datapipe, skip_first_line=True, delimiter=","
      )
  
      if include_movies_data:
          datapipe = _join_with_movies(datapipe, root)
      if row_mapper:
          datapipe = datapipe.map(row_mapper)
  
      return datapipe
  
file_path: torchrec/torchrec/datasets/movielens.py
imports: import os
  from typing import Any, Callable, Dict, List, Optional, Union
  from torch.utils.data import IterDataPipe
  from torchrec.datasets.utils import LoadFiles, ReadLinesFromCSV, safe_cast
label_desc: Use image node_id 3 for calling a global function with example usage: _movielens(root) and returns: datapipe