def convertColumnType()

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
  }