private boolean executeStatement(String database, String stmt) throws IOException {
        Map<String, String> param = new HashMap<>();
        param.put("stmt", stmt);
        List<String> fenodes = Arrays.asList(options.getFenodes().split(","));
        List<String> uris = fenodes.stream()
                .map(fenode -> String.format(SCHEMA_CHANGE_API, fenode, database))
                .collect(Collectors.toList());

        for (String requestUrl : uris) {
            HttpPost httpPost = new HttpPost(requestUrl);
            httpPost.setHeader(HttpHeaders.AUTHORIZATION, authHeader());
            httpPost.setHeader(HttpHeaders.CONTENT_TYPE, CONTENT_TYPE_JSON);
            httpPost.setEntity(new StringEntity(JsonDynamicSchemaFormat.OBJECT_MAPPER.writeValueAsString(param)));
            // if any fenode succeeds, return true, else keep trying
            if (sendRequest(httpPost)) {
                return true;
            }
        }
        return false;
    }
Process schema change for Doris

@param data The origin data
inlong-sort/sort-flink/sort-flink-v1.13/sort-connectors/doris/src/main/java/org/apache/inlong/sort/doris/schema/SchemaChangeHelper.java