private def decodeFeatureList()

in spark/spark-tensorflow-connector/src/main/scala/org/tensorflow/spark/datasources/tfrecords/serde/DefaultTfRecordRowDecoder.scala [133:145]


  private def decodeFeatureList(featureList: FeatureList, schema: StructType, fieldIndex: Int): Any = {
    val colDataType = schema.fields(fieldIndex).dataType
    colDataType match {
      case ArrayType(ArrayType(IntegerType, _), _) => IntFeatureListDecoder.decode(featureList)
      case ArrayType(ArrayType(LongType, _), _) => LongFeatureListDecoder.decode(featureList)
      case ArrayType(ArrayType(FloatType, _), _) => FloatFeatureListDecoder.decode(featureList)
      case ArrayType(ArrayType(DoubleType, _), _) => DoubleFeatureListDecoder.decode(featureList)
      case ArrayType(ArrayType(DecimalType(), _), _) => DecimalFeatureListDecoder.decode(featureList)
      case ArrayType(ArrayType(StringType, _), _) => StringFeatureListDecoder.decode(featureList)
      case ArrayType(ArrayType(BinaryType, _), _) => BinaryFeatureListDecoder.decode(featureList)
      case _ => throw new scala.RuntimeException(s"Cannot convert FeatureList to unsupported data type ${colDataType}")
    }
  }