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
}