class_docstr: Manage shuffle execution for ray by resolve dependencies between mappers outputs and reducers inputs based on
  mapper and reducer index.
docstr: Whether current subtask graph has shuffles to execute.
docstr_tok: ["Whether","current","subtask","graph","has","shuffles","to","execute","."]
code: def has_shuffle(self):
      """
      Whether current subtask graph has shuffles to execute.
      """
      return self._num_shuffles > 0
  
file_path: mars/mars/services/task/execution/ray/shuffle.py
imports: import numpy
  from typing import List, Iterable
  from .....core.operand import MapReduceOperand, OperandStage
  from .....utils import lazy_import
  from ....subtask import Subtask, SubtaskGraph
label_desc: Use image node_id 3 for calling the ShuffleManager obj's underlying member method code with example usage: obj.has_shuffle() and returns: unknown