@Override
    public Object parse(SourceData sourceData, int rowIndex, Context context) {
        Object numberObj = numberParser.parse(sourceData, rowIndex, context);
        if (numberObj == null) {
            return null;
        }
        BigDecimal numberValue = OperatorTools.parseBigDecimal(numberObj);
        double value = numberValue.doubleValue();
        if (value > 0) {
            return 1;
        } else if (value < 0) {
            return -1;
        }
        return 0;
    }
SignFunction  ->  sign(x)
description:
- Return NULL if 'x' is NULL
- Return -1 if 'x' is a negative number
- Return 0 if 'x' is equal to 0
- Return 1 if 'x' is a positive number
inlong-sdk/transform-sdk/src/main/java/org/apache/inlong/sdk/transform/process/function/arithmetic/SignFunction.java