code: def _add_sparse_feature_fields(self, dtype, indices_avro_type, rank):
      value_avro_type = self._map_tensor_dtype_to_avro_dtype(dtype)
      fields = []
      for dim in range(rank):
          indices_name_at_dim = ATDSWriter._SPARSE_INDICES_KEY + str(
              dim
          )
          fields.append(
              {
                  "name": indices_name_at_dim,
                  "type": {"type": "array", "items": indices_avro_type},
              }
          )
      value_field = {
          "name": ATDSWriter._SPARSE_VALUES_KEY,
          "type": {"type": "array", "items": value_avro_type},
      }
      fields.append(value_field)
      return fields
  
imports: import os
  import hashlib
  import json
  import numpy
  import tensorflow
  from avro.schema import Parse
  from avro.datafile import DataFileWriter
  from avro.io import DatumWriter
  from tests.test_atds_avro.utils.file_writer import FileWriter
  from tests.test_atds_avro.utils.generator.varlen_tensor_generator import VarLenTensorGeneratorBase
  from tensorflow_io.python.experimental.atds.features import DenseFeature, SparseFeature, VarlenFeature
label_desc: Use image node_id 13 for calling the ATDSWriter obj's underlying member method code with example usage: obj._add_sparse_feature_fields(dtype, indices_avro_type, rank) and returns: fields