谢谢,除了operator name,我看了flink sql作业生成的task name也很长,目前有办法可以简化下吗?例如
flink_taskmanager_job_task_operator_fetch_total{job_id="4c24ce399f369ba2b7ae5ce51ec034d3",task_id="5c4ca2fea30dcf09bf3ee40c495fe808",task_attempt_id="5110227bf582bd21ecf6102625fadc16",host="172_19_197_35",operator_id="5c4
>
> 这个状态变量是否需要用transient来修饰
ValueState 再 Rich fuction 的 open 方法中被初始化,不应该被序列化和反序列化,建议使用 transient 来修饰。
但实际上自定义函数的序列化、反序列化只在任务部署阶段执行,而且初始状态下 ValueState 的值是 null,所以不使用 transient
关键字也不会有太大的影响。
以及什么情况下flink代码中需要用transient来修饰变量,什么情况下不用transient来修饰
理解自定义函数的序列化、反序列化是在任务部署阶段执行之后,这个问题就比较好回答了。 如果你的变量在是函数的