code: def __init__(
      self,
      rdd: pyspark.RDD,
      key_serdes_type,
      value_serdes_type,
      partitioner_type,
  ):
      self._rdd = rdd
      self._engine = ComputingEngine.SPARK
      self._has_partitioned = False
  
      super().__init__(
          key_serdes_type=key_serdes_type,
          value_serdes_type=value_serdes_type,
          partitioner_type=partitioner_type,
          num_partitions=rdd.getNumPartitions(),
      )
  
imports: import logging
  import struct
  import typing
  from typing import Callable, Iterable, Tuple, Optional, Any
  import pyspark
  from pyspark.rddsampler import RDDSamplerBase
  from fate.arch import URI
  from fate.arch.computing.api import KVTable, ComputingEngine, K, V
  from fate.arch.computing.api._table import _lifted_reduce_to_serdes, get_serdes_by_type
  from ._materialize import materialize, unmaterialize
label_desc: Use image node_id 1 to create a new Table object from inherited base classes: KVTable with example: obj = Table(rdd, key_serdes_type, value_serdes_type, partitioner_type)