public static String flinkType2HiveType(LogicalType type) {
        switch (type.getTypeRoot()) {
            case INTEGER:
                return "int";
            case BIGINT:
                return "bigint";
            case TINYINT:
                return "tinyint";
            case SMALLINT:
                return "smallint";
            case FLOAT:
                return "float";
            case DOUBLE:
                return "double";
            case DECIMAL:
                DecimalType decimalType = (DecimalType) type;
                return String.format("decimal(%s,%s)", decimalType.getPrecision(), decimalType.getScale());
            case TIMESTAMP_WITH_TIME_ZONE:
            case TIMESTAMP_WITH_LOCAL_TIME_ZONE:
            case TIMESTAMP_WITHOUT_TIME_ZONE:
            case TIME_WITHOUT_TIME_ZONE:
                return "timestamp";
            case DATE:
                return "date";
            case BOOLEAN:
                return "boolean";
            case BINARY:
            case VARBINARY:
                return "binary";
            case ARRAY:
                return "array";
            case CHAR:
            case VARCHAR:
            default:
                return "string";
        }
    }
flink type to hive type

@param type flink field type
@return hive type
inlong-sort/sort-flink/sort-flink-v1.13/sort-connectors/hive/src/main/java/org/apache/inlong/sort/hive/util/HiveTableUtil.java