gpt4 book ai didi

java - 无法将单引号内的值提交给 flink 作业

转载 作者:行者123 更新时间:2023-11-30 05:43:35 24 4
gpt4 key购买 nike

我正在尝试使用参数提交我的 jar。我正在使用 flink Rest Api 以 json 格式发送我的参数。我在 java 中的输入示例是

JSONObject json = new JSONObject();
json.put("programArgs","--bootstrap.server \"localhost:9092\" --zookeeper.server \"localhost:2181\" --query \"where agentHost='192.168.170.111'\" --source.topic \"demo1\" --dest.topic \"rules\" --job.id \"123\" --extra.info \"sdcdscsd\"");
httpPost.setEntity(new StringEntity(json.toJSONString()));

当我准确地给出这些参数时,我的作业通过 IDE 运行,但是当我通过 Rest api 发送它时,我的查询参数不带单引号。因此我收到了 Calcite sql 解析异常。

如何解决这个问题?

最佳答案

您需要将参数作为参数列表而不是字符串发送。您可以通过设置 programArgsList 字段(而不是数组类型)来完成此操作:

json.put("programArgsList", Arrays.asList("--bootstrap.server", "localhost:9092", "--zookeeper.server", "localhost:2181", "--query", "where agentHost='192.168.170.111'", "--source.topic", "demo1", ...));

这样 Flink 就不会在输入解析过程中删除单引号。请参阅FLINK-10295了解更多信息。

关于java - 无法将单引号内的值提交给 flink 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55233563/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com