开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink CDC这里传json,双引号会被去掉,怎么办?

Flink CDC这里传json,双引号会被去掉,怎么办?用这个拿参数:ParameterTool parameterTool = ParameterTool.fromArgs(args);e06bda17d1937480b0d304c337836b89.png

展开
收起
真的很搞笑 2024-01-09 11:33:38 55 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在Flink CDC中,如果JSON数据中的双引号被去掉了,可以在将参数传递给ParameterTool之前,对参数进行预处理,将双引号添加回去。以下是一个示例:

    import org.apache.flink.api.common.JobExecutionResult;
    import org.apache.flink.api.java.utils.ParameterTool;
    import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
    
    public class FlinkCDCExample {
        public static void main(String[] args) throws Exception {
            // 对参数进行处理,将双引号添加回去
            StringBuilder processedArgs = new StringBuilder();
            for (String arg : args) {
                processedArgs.append("\"").append(arg).append("\" ");
            }
            args = processedArgs.toString().trim().split("\\s+");
    
            // 创建Flink环境
            StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
    
            // 从参数中获取配置信息
            ParameterTool parameterTool = ParameterTool.fromArgs(args);
    
            // 使用parameterTool进行其他操作...
    
            // 执行任务并等待结果
            JobExecutionResult result = env.execute("Flink CDC Example");
        }
    }
    

    这样,在将参数传递给ParameterTool之前,会先对参数进行处理,确保双引号不会被去掉。

    2024-01-09 15:22:01
    赞同 展开评论 打赏
  • base64编码一下 ,此回答整理自钉群“Flink CDC 社区”

    2024-01-09 12:13:04
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载