public List<ClickHouseFieldInfo> getSClickHouseColumnInfoFromSink(List<StreamSinkFieldEntity> sinkList) {
        List<ClickHouseFieldInfo> columnInfoList = new ArrayList<>();
        for (StreamSinkFieldEntity fieldEntity : sinkList) {
            if (StringUtils.isNotBlank(fieldEntity.getExtParams())) {
                ClickHouseFieldInfo clickHouseFieldInfo = ClickHouseFieldInfo.getFromJson(
                        fieldEntity.getExtParams());
                CommonBeanUtils.copyProperties(fieldEntity, clickHouseFieldInfo, true);
                columnInfoList.add(clickHouseFieldInfo);
            } else {
                ClickHouseFieldInfo clickHouseFieldInfo = new ClickHouseFieldInfo();
                CommonBeanUtils.copyProperties(fieldEntity, clickHouseFieldInfo, true);
                columnInfoList.add(clickHouseFieldInfo);
            }
        }
        return columnInfoList;
    }
Operator for clickHouse resource, such as create sink resource, clickHouse tables, etc.
inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/resource/sink/ck/ClickHouseResourceOperator.java