提示:以下是本篇文章正文内容,下面案例可供参考。flink1.15+

一、flink侧边输出(数据分流)

二、在重写方法中获取参数

使用场景:在flink自定义sink时需要获取账号密码等信息,可以参数中获取

 @Override
        public void open(Configuration parameters) throws Exception {
   
            super.open(parameters);
            RuntimeContext runtimeContext = getRuntimeContext();

            // 从配置中读取 信息
            String nodeUrls = runtimeContext.getExecutionConfig().getGlobalJobParameters().get("address");
          
            // 从配置中读取 用户名和密码
            username = runtimeContext.getExecutionConfig().getGlobalJobParameters().get("Username");
            password = runtimeContext.getExecutionConfig().getGlobalJobParameters().get("Password");
           //下面是业务处理
        }

核心是通过运行时上下文获取:runtimeContext.getExecutionConfig().getGlobalJobParameters().get("XXX");

三、其他

A).对sink 算子起别名

默认情况下sink 是没有名称的。例如下面这个sink多个外部数据库都是:Sink: Unnamed
KeyedProcess -> (Filter -> Process -> Sink: Writer -> Sink: Committer, Filter -> Sink: Unnamed, Filter -> Sink: Unnamed)

可以通过.name("sink_Mysql")给sink起别名,知道此sink要写哪或目的。
DataStream.addSink(new 

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部