我只想给运营商和消息来源命名 . 我们来举个例子吧
这是执行计划的屏幕截图,我采用了Flink Dashboard . 这里我有2个DataStreams源,然后我加入它们 . 我的问题是,我可以将这些来源命名为 EcgStream 和 Sp02 Stream ,例如加入为 Join1 吗?
原因我问这个问题是因为它使可视化更容易 . 另外,正如我在_1679406页面那样,在页面的最后,他们提到了以下内容
请注意,task_name和operator_name已经过压缩,因此当跨任务和运算符聚合延迟时,我们仍然可以正确区分任务和运算符 . 但是这些压缩名称与Flink UI中的内容不匹配,后者将显示Scala代码的片段作为运算符名称 . 如果您需要在度量标准系统中使用这些名称,则应在应用程序的Flink代码中提供名称 . 此压缩值仅适用于那些非常长的默认名称,否则这些名称将不是合法的度量标准值 .
我还有另一个问题,那就是当我为CEP制作模式时,执行计划UI只是将其显示为模式 . 是否有任何方式显示该模式是什么样的 A B+ C? D . 如果我们有多个模式,我们应该能够命名为 Patterns{1..n}
3 回答
要为运营商分配更好的名称,请参阅the documentation . 这是你应该做的事情,不仅因为它使执行计划更具可读性,而且因为它将使你的保存点在你的应用程序发展时更加可靠地恢复(docs) .
正如@alpinegizmo所建议的那样,我已将UID添加到源流中,如下所示
但执行Graph不显示这些uid的
以下
sout
的结果也是3通过使用
name()
而不是uid()
解决了此问题,如下所示输出图如下所示