code: def __init__(self, rank=0, world_size=1, **kwargs):
      self.rank = rank
      self.world_size = world_size
      # calls init of TSVDataSource
      super().__init__(**kwargs)
      # weird python syntax to call init of ShardedDataSource
      super(TSVDataSource, self).__init__(schema=self.schema)
  
imports: import csv
  import logging
  import sys
  import threading
  from typing import Dict, List, Optional, Type
  from pytext.utils.path import get_absolute_path
  from .data_source import generator_property, RootDataSource, SafeFileWrapper, ShardedDataSource
  from .session import SessionDataSource
label_desc: Use image node_id 1 to create a new BlockShardedTSVDataSource object from inherited base classes: TSVDataSource, ShardedDataSource with example: obj = BlockShardedTSVDataSource(rank, world_size)