如何解决我们能否创建一个对Apache Flink中的所有操作员都可访问的对象?
我正在构建一个有助于监视多个运算符的数值性能的类。我目前的想法是创建一个类似update()
的方法,并在每次需要操作员更新某些内容时都调用此方法。但是,这意味着我需要创建一个对象,该对象对于我要监视的每个操作员都是可见的。这可能吗?还是会有更好的解决方案?谢谢!
解决方法
如果您知道所有操作员都在单个JVM(您有一个任务管理器)中运行,则可以创建一个单例,所有操作员都可以使用该记录来记录活动。
如果它是具有多个TM的Flink集群,则每个TM都在各自的JVM中运行,因此您必须使用一些分布式系统来记录此活动。
俗气的解决方案是使用日志记录,然后对日志进行后期处理以提取所需的信息。
或者您也许可以使用Flink的内置指标来收集所需的信息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。