@Override
    public LoadNode createLoadNode(StreamNode nodeInfo, Map<String, StreamField> constantFieldMap) {
        ClickHouseSink streamSink = (ClickHouseSink) nodeInfo;
        Map<String, String> properties = parseProperties(streamSink.getProperties());
        FieldTypeMappingStrategy fieldTypeMappingStrategy =
                fieldTypeStrategyFactory.getInstance((streamSink.getSinkType()));
        List<FieldInfo> fieldInfos =
                parseSinkFieldInfos(streamSink.getSinkFieldList(), streamSink.getSinkName(), fieldTypeMappingStrategy);
        List<FieldRelation> fieldRelations = parseSinkFields(streamSink.getSinkFieldList(), constantFieldMap);
        return new ClickHouseLoadNode(
                streamSink.getSinkName(),
                streamSink.getSinkName(),
                fieldInfos,
                fieldRelations,
                null,
                null,
                null,
                properties,
                streamSink.getDbName() + "." + streamSink.getTableName(),
                streamSink.getJdbcUrl() + "/" + streamSink.getDbName(),
                streamSink.getUsername(),
                streamSink.getPassword(),
                streamSink.getPrimaryKey());
    }
The Provider for creating ClickHouse load nodes.
inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/sort/node/provider/ClickHouseProvider.java