hi,
请问flink如何传递全局变量,静态类好像服务器端运行不行。 场景是:一开始flink程序起来时,读取配置文件中的配置项,此类配置项可能会在sink,source等等其他地方用到,算是整个程序的全局配置 [hidden email] |
Hi
使用rich function,在open方法中加载,如果配置可能会发生变化,可以使用broadcast。 Best, Yichao Yang ------------------ 原始邮件 ------------------ 发件人: "[hidden email]"<[hidden email]>; 发送时间: 2020年6月9日(星期二) 晚上8:14 收件人: "user-zh"<[hidden email]>; 主题: flink如何传递全局变量 hi, 请问flink如何传递全局变量,静态类好像服务器端运行不行。 场景是:一开始flink程序起来时,读取配置文件中的配置项,此类配置项可能会在sink,source等等其他地方用到,算是整个程序的全局配置 [hidden email] |
有相关的代码例子可以参考下吗?
[hidden email] 发件人: 1048262223 发送时间: 2020-06-09 20:17 收件人: user-zh 主题: 回复:flink如何传递全局变量 Hi 使用rich function,在open方法中加载,如果配置可能会发生变化,可以使用broadcast。 Best, Yichao Yang ------------------ 原始邮件 ------------------ 发件人: "[hidden email]"<[hidden email]>; 发送时间: 2020年6月9日(星期二) 晚上8:14 收件人: "user-zh"<[hidden email]>; 主题: flink如何传递全局变量 hi, 请问flink如何传递全局变量,静态类好像服务器端运行不行。 场景是:一开始flink程序起来时,读取配置文件中的配置项,此类配置项可能会在sink,source等等其他地方用到,算是整个程序的全局配置 [hidden email] |
Hi
Broadcast可以参考这个[1],open其实就是直接在open时加载 [1]https://ci.apache.org/projects/flink/flink-docs-stable/dev/stream/state/broadcast_state.html Best, Yichao Yang ------------------ 原始邮件 ------------------ 发件人: "[hidden email]"<[hidden email]>; 发送时间: 2020年6月10日(星期三) 上午9:16 收件人: "1048262223"<[hidden email]>; 抄送: "user-zh"<[hidden email]>; 主题: 回复: 回复:flink如何传递全局变量 有相关的代码例子可以参考下吗? [hidden email] 发件人: 1048262223 发送时间: 2020-06-09 20:17 收件人: user-zh 主题: 回复:flink如何传递全局变量 Hi 使用rich function,在open方法中加载,如果配置可能会发生变化,可以使用broadcast。 Best, Yichao Yang ------------------&nbsp;原始邮件&nbsp;------------------ 发件人:&nbsp;"[hidden email]"<[hidden email]&gt;; 发送时间:&nbsp;2020年6月9日(星期二) 晚上8:14 收件人:&nbsp;"user-zh"<[hidden email]&gt;; 主题:&nbsp;flink如何传递全局变量 hi, &nbsp;&nbsp;&nbsp; 请问flink如何传递全局变量,静态类好像服务器端运行不行。 &nbsp;&nbsp;&nbsp; 场景是:一开始flink程序起来时,读取配置文件中的配置项,此类配置项可能会在sink,source等等其他地方用到,算是整个程序的全局配置 [hidden email] |
In reply to this post by zjfplayer@hotmail.com
对
正如 -> 1048262223 所说的一样 , 目前我就是通过BroadCast 动态更细一些规则带到下游并在Process method 中 进行操作 | 😄 [hidden email] <[hidden email]> 于2020年6月9日周二 下午8:14写道: > hi, > 请问flink如何传递全局变量,静态类好像服务器端运行不行。 > 场景是:一开始flink程序起来时,读取配置文件中的配置项,此类配置项可能会在sink,source等等其他地方用到,算是整个程序的全局配置 > > > > [hidden email] > |
还有一个简单的方法,可以尝试parameterTool,当然类型偏简单。
final ParameterTool parameterTool = ParameterTool.fromArgs(args); parameterTool.get("paramete-key","paramete-value"); ... env.getConfig().setGlobalJobParameters(parameterTool); ... source .map(new RichMapFunction<String, Tuple2<String, Integer>>() { private ParameterTool parameterTool = null; private String paramete = ""; @Override public void open(Configuration parameters) throws Exception { parameterTool = (ParameterTool) getRuntimeContext().getExecutionConfig().getGlobalJobParameters(); paramete = parameterTool.get("paramete-key"); System.out.println("paramete = " + paramete); } @Override public Tuple2<String, Integer> map(String value) throws Exception { return new Tuple2<>(paramete, 1); } }); ... Px New <[hidden email]> 于2020年6月10日周三 上午9:53写道: > 对 > 正如 -> 1048262223 所说的一样 , 目前我就是通过BroadCast 动态更细一些规则带到下游并在Process method 中 > 进行操作 | 😄 > > [hidden email] <[hidden email]> 于2020年6月9日周二 下午8:14写道: > > > hi, > > 请问flink如何传递全局变量,静态类好像服务器端运行不行。 > > > 场景是:一开始flink程序起来时,读取配置文件中的配置项,此类配置项可能会在sink,source等等其他地方用到,算是整个程序的全局配置 > > > > > > > > [hidden email] > > > |
In reply to this post by Px New
我看到这篇文章介绍的比较详细:https://www.cnblogs.com/029zz010buct/p/10362451.html
[hidden email] 发件人: Px New 发送时间: 2020-06-10 09:54 收件人: user-zh 主题: Re: flink如何传递全局变量 对 正如 -> 1048262223 所说的一样 , 目前我就是通过BroadCast 动态更细一些规则带到下游并在Process method 中 进行操作 | [hidden email] <[hidden email]> 于2020年6月9日周二 下午8:14写道: > hi, > 请问flink如何传递全局变量,静态类好像服务器端运行不行。 > 场景是:一开始flink程序起来时,读取配置文件中的配置项,此类配置项可能会在sink,source等等其他地方用到,算是整个程序的全局配置 > > > > [hidden email] > |
Free forum by Nabble | Edit this page |