in spark-doris-connector/src/main/scala/org/apache/doris/spark/sql/SchemaUtils.scala [95:127]
def getCatalystType(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.StringType
case "DATEV2" => DataTypes.StringType
case "DATETIME" => DataTypes.StringType
case "DATETIMEV2" => DataTypes.StringType
case "BINARY" => DataTypes.BinaryType
case "DECIMAL" => DecimalType(precision, scale)
case "CHAR" => DataTypes.StringType
case "LARGEINT" => DataTypes.StringType
case "VARCHAR" => 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 "HLL" =>
throw new DorisException("Unsupported type " + dorisType)
case _ =>
throw new DorisException("Unrecognized Doris type " + dorisType)
}
}