微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我们能否创建一个对Apache Flink中的所有操作员都可访问的对象?

如何解决我们能否创建一个对Apache Flink中的所有操作员都可访问的对象?

我正在构建一个有助于监视多个运算符的数值性能的类。我目前的想法是创建一个类似update()方法,并在每次需要操作员更新某些内容时都调用方法。但是,这意味着我需要创建一个对象,该对象对于我要监视的每个操作员都是可见的。这可能吗?还是会有更好的解决方案?谢谢!

解决方法

如果您知道所有操作员都在单个JVM(您有一个任务管理器)中运行,则可以创建一个单例,所有操作员都可以使用该记录来记录活动。

如果它是具有多个TM的Flink集群,则每个TM都在各自的JVM中运行,因此您必须使用一些分布式系统来记录此活动。

俗气的解决方案是使用日志记录,然后对日志进行后期处理以提取所需的信息。

或者您也许可以使用Flink的内置指标来收集所需的信息。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。