@Override
    public Map<String, String> parse(ClickHouseIdConfig idConfig, ProfileEvent event) {
        final Map<String, String> resultMap = new HashMap<>();
        // parse fields
        String delimeter = idConfig.getSeparator();
        char cDelimeter = delimeter.charAt(0);
        String strContext = null;
        // for tab separator
        byte[] bodyBytes = event.getBody();
        int msgLength = event.getBody().length;
        int contentOffset = idConfig.getContentOffset();
        if (contentOffset > 0 && msgLength >= 1) {
            strContext = new String(bodyBytes, contentOffset, msgLength - contentOffset, Charset.defaultCharset());
        } else {
            strContext = new String(bodyBytes, Charset.defaultCharset());
        }
        // unescape
        List<String> columnValues = UnescapeHelper.toFiledList(strContext, cDelimeter);
        // column size
        List<String> contentFieldList = idConfig.getContentFieldList();
        int matchSize = Math.min(contentFieldList.size(), columnValues.size());
        for (int i = 0; i < matchSize; i++) {
            resultMap.put(contentFieldList.get(i), columnValues.get(i));
        }

        // ftime
        String ftime = dateFormat.format(new Date(event.getRawLogTime()));
        resultMap.put("ftime", ftime);
        // extinfo
        String extinfo = getExtInfo(event);
        resultMap.put("extinfo", extinfo);
        return resultMap;
    }
parse
@param idConfig
@param event
@return
inlong-sort-standalone/sort-standalone-source/src/main/java/org/apache/inlong/sort/standalone/sink/clickhouse/DefaultEventHandler.java