in spark-doris-connector/src/main/scala/org/apache/doris/spark/sql/SchemaUtils.scala [63:85]
def convertToStruct(schema: Schema, dorisReadFields: String, ignoredTypes: String): StructType = {
val fieldList = if (dorisReadFields != null && dorisReadFields.nonEmpty) {
dorisReadFields.split(",")
} else {
Array.empty[String]
}
val ignoredTypeList = if (ignoredTypes != null && ignoredTypes.nonEmpty) {
ignoredTypes.split(",").map(t => t.trim.toUpperCase)
} else {
Array.empty[String]
}
val fields = schema.getProperties
.filter(x => (fieldList.contains(x.getName) || fieldList.isEmpty)
&& !ignoredTypeList.contains(x.getType))
.map(f =>
DataTypes.createStructField(
f.getName,
getCatalystType(f.getType, f.getPrecision, f.getScale),
true
)
)
DataTypes.createStructType(fields)
}