code: def __init__(self, worker_id, publish_func, args):
      super(ArrowReaderWorker, self).__init__(
          worker_id, publish_func, args
      )
  
      self._filesystem = args[0]
      self._dataset_path_or_paths = args[1]
      self._schema = args[2]
      self._ngram = args[3]
      self._split_pieces = args[4]
      self._local_cache = args[5]
      self._transform_spec = args[6]
      self._transformed_schema = args[7]
      self._arrow_filters = args[8]
      self._shuffle_rows = args[9]
      self._random_state = np.random.RandomState(seed=args[10])
  
      if self._ngram:
          raise NotImplementedError(
              "ngrams are not supported by ArrowReaderWorker"
          )
  
      # We create datasets lazily in the first invocation of 'def process'. This speeds up startup time since
      # all Worker constructors are serialized
      self._dataset = None
  
imports: from __future__ import division
  import hashlib
  import operator
  import numpy
  import pandas
  import pyarrow
  from pyarrow import parquet
  from pyarrow.parquet import ParquetFile
  from petastorm.cache import NullCache
  from petastorm.workers_pool import EmptyResultError
  from petastorm.workers_pool.worker_base import WorkerBase
label_desc: Use image node_id 1 to create a new ArrowReaderWorker object from inherited base classes: WorkerBase with example: obj = ArrowReaderWorker(worker_id, publish_func, args)