@Override
    public Object parse(SourceData sourceData, int rowIndex, Context context) {
        Object keyArrayObj = keyArrayParser.parse(sourceData, rowIndex, context);
        Object valueArrayObj = valueArrayParser.parse(sourceData, rowIndex, context);
        if (keyArrayObj == null || valueArrayObj == null) {
            return null;
        }
        if (keyArrayObj instanceof ArrayList && valueArrayObj instanceof ArrayList) {
            ArrayList<?> keyArray = ((ArrayList<?>) keyArrayObj);
            ArrayList<?> valueArray = ((ArrayList<?>) valueArrayObj);

            if (keyArray.size() != valueArray.size()) {
                log.warn("The lengths of the keys and values arrays must be the same.");
                return null;
            }
            Map<Object, Object> res = new LinkedHashMap<>();

            for (int i = 0; i < keyArray.size(); i++) {
                res.put(keyArray.get(i), valueArray.get(i));
            }
            return res;
        }
        return null;
    }
MapFromArraysFunction  ->  MAP_FROM_ARRAYS(array_of_keys, array_of_values)
description:
- Return NULL if any parameter is NULL
- Return a map created from an arrays of keys and values
inlong-sdk/transform-sdk/src/main/java/org/apache/inlong/sdk/transform/process/function/collection/MapFromArraysFunction.java