提示:以下是本篇文章正文内容,下面案例可供参考。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