@Override
    public Object parse(SourceData sourceData, int rowIndex, Context context) {
        Object timestampObj = timestampParser.parse(sourceData, rowIndex, context);
        Timestamp timestamp = OperatorTools.parseTimestamp(timestampObj);
        LocalDateTime localDateTime = timestamp.toLocalDateTime();
        switch (type) {
            // hour(between 0 and 23)
            case HOUR:
                return localDateTime.getHour();
            // minute(between 0 and 59)
            case MINUTE:
                return localDateTime.getMinute();
            // second(between 0 and 59)
            case SECOND:
                return localDateTime.getSecond();
            default:
                return null;
        }
    }
TimestampExtractFunction
description:
- hour(timestamp)--returns the hour of a day (an integer between 0 and 23) from SQL timestamp
- minute(timestamp)--returns the minute of an hour (an integer between 0 and 59) from SQL timestamp
- second(timestamp)--returns the second of a minute (an integer between 0 and 59) from SQL timestamp
inlong-sdk/transform-sdk/src/main/java/org/apache/inlong/sdk/transform/process/function/temporal/TimestampExtractFunction.java