class_docstr: Abstract class for executors, which implement physical operator execution.
  
  Subclasses:
      StreamingExecutor
docstr: Return stats for the execution so far.
  
  This is generally called after `execute` has completed, but may be called
  while iterating over `execute` results for streaming execution.
docstr_tok: ["Return","stats","for","the","execution","so","far",".","This","is","generally","called","after","`","execute","`","has","completed",",","but","may","be","called","while","iterating","over","`","execute","`","results","for","streaming","execution","."]
code: def get_stats(self) -> DatasetStats:
      """Return stats for the execution so far.
  
      This is generally called after `execute` has completed, but may be called
      while iterating over `execute` results for streaming execution.
      """
      raise NotImplementedError
  
file_path: ray/python/ray/data/_internal/execution/interfaces/executor.py
imports: from typing import Iterable, Iterator, Optional
  from .execution_options import ExecutionOptions
  from .physical_operator import PhysicalOperator
  from .ref_bundle import RefBundle
  from ray.data._internal.stats import DatasetStats
label_desc: Use image node_id 4 for calling the Executor obj's underlying member method code with example usage: obj.get_stats() without return types