in spark-doris-connector/spark-doris-connector-base/src/main/scala/org/apache/doris/spark/util/SchemaConvertors.scala [28:65]
def toCatalystType(dorisType: String, precision: Int, scale: Int): DataType = {
dorisType match {
case "NULL_TYPE" => DataTypes.NullType
case "BOOLEAN" => DataTypes.BooleanType
case "TINYINT" => DataTypes.ByteType
case "SMALLINT" => DataTypes.ShortType
case "INT" => DataTypes.IntegerType
case "BIGINT" => DataTypes.LongType
case "FLOAT" => DataTypes.FloatType
case "DOUBLE" => DataTypes.DoubleType
case "DATE" => DataTypes.DateType
case "DATEV2" => DataTypes.DateType
case "DATETIME" => DataTypes.TimestampType
case "DATETIMEV2" => DataTypes.TimestampType
case "BINARY" => DataTypes.BinaryType
case "DECIMAL" => DecimalType(precision, scale)
case "CHAR" => DataTypes.StringType
case "LARGEINT" => DataTypes.StringType
case "VARCHAR" => DataTypes.StringType
case "JSON" => DataTypes.StringType
case "JSONB" => DataTypes.StringType
case "DECIMALV2" => DecimalType(precision, scale)
case "DECIMAL32" => DecimalType(precision, scale)
case "DECIMAL64" => DecimalType(precision, scale)
case "DECIMAL128" => DecimalType(precision, scale)
case "TIME" => DataTypes.DoubleType
case "STRING" => DataTypes.StringType
case "ARRAY" => DataTypes.StringType
case "MAP" => MapType(DataTypes.StringType, DataTypes.StringType)
case "STRUCT" => DataTypes.StringType
case "VARIANT" => DataTypes.StringType
case "IPV4" => DataTypes.StringType
case "IPV6" => DataTypes.StringType
case "BITMAP" => DataTypes.StringType // Placeholder only, no support for reading
case "HLL" => DataTypes.StringType // Placeholder only, no support for reading
case _ => throw new Exception("Unrecognized Doris type " + dorisType)
}
}