in GlueCustomConnectors/development/Spark/glue-3.0/tpcds-custom-connector-for-glue3.0/src/main/scala/com/amazonaws/services/glue/marketplace/connector/tpcds/TPCDSUtils.scala [101:120]
def convertColumnType(column: Column): DataType = {
val dataType: DataType = {
column.getType.getBase match {
case IDENTIFIER => LongType
case INTEGER => IntegerType
case DATE => DateType
case DECIMAL => {
val columnType = column.getType
DecimalType(columnType.getPrecision.get(), columnType.getScale.get())
}
case TIME | CHAR | VARCHAR => StringType
// CHAR will be mapped to java.lang.String.
// `TIME` type is generated only for `dbgen_version` table. The `TIME` column has the format like "HH:mm:ss",
// however the format is not compatible with `java.sql.Timestamp`. Then the `TIME` column will be converted to String.
case _ => throw new IllegalArgumentException(
"Unsupported TPC-DS type " + column.getName + ":" + column.getType.getBase)
}
}
dataType
}