def loadFeatureDefinitionsFromSchema()

in scala-spark-sdk/src/main/scala/software/amazon/sagemaker/featurestore/sparksdk/FeatureStoreManager.scala [130:148]


  def loadFeatureDefinitionsFromSchema(inputDataFrame: DataFrame): util.List[FeatureDefinition] = {
    val fields = inputDataFrame.schema.fields
    val featureDefinitions: List[FeatureDefinition] = fields.foldLeft(List[FeatureDefinition]()) {
      (resultList, field) =>
        SPARK_TYPE_TO_FEATURE_TYPE_MAP.get(field.dataType) match {
          case Some(featureType) =>
            resultList :+ FeatureDefinition
              .builder()
              .featureName(field.name)
              .featureType(featureType)
              .build()
          case None =>
            throw ValidationError(
              f"Found unsupported data type from schema '${field.dataType}' which cannot be converted to a corresponding feature type."
            )
        }
    }
    featureDefinitions.asJava
  }