Java 命名Flink运算符

Java 命名Flink运算符,java,apache-flink,naming,Java,Apache Flink,Naming,我使用的是Flink v.1.4.0 我希望能够在flinkui中命名操作符。我知道要这样做,我只需要在数据集或数据流上使用.name()方法。例如,像这样: DataSet<SomePojo> flinkDataSet = ...; flinkDataSet .map(new SomeTransformation()) .name("Transformation A"); ----------------------- -------------

我使用的是
Flink v.1.4.0

我希望能够在
flinkui
中命名操作符。我知道要这样做,我只需要在
数据集
数据流
上使用
.name()
方法。例如,像这样:

DataSet<SomePojo> flinkDataSet = ...;

flinkDataSet
    .map(new SomeTransformation())
    .name("Transformation A");
-----------------------         -----------------------
| SOURCE              |  --->   |"Transformation A" ->| ---> More operations
-----------------------         |"Transformation B"   |
                                -----------------------

还是第一个名字会被第二个名字覆盖?当然,我可以进行实验并找出原因,但我也想了解原因。

就我所使用的name()函数而言,您可以使用datastream或dataset API进行的每个转换都是一个操作,因此在第二种情况下,图将如下所示

"Transformation A" -------> "Transformation B"
但在Flink dashborad上,这些任务有可能被分组到同一个任务中,如下所示:

DataSet<SomePojo> flinkDataSet = ...;

flinkDataSet
    .map(new SomeTransformation())
    .name("Transformation A");
-----------------------         -----------------------
| SOURCE              |  --->   |"Transformation A" ->| ---> More operations
-----------------------         |"Transformation B"   |
                                -----------------------

是的,您可以命名每个转换。但是正如@diegoreico所指出的,如果操作符是流水线的,那么Flink UI将显示它们分组到DAG中的单个框(节点)中。

当您说流水线时,您的意思是它们以操作终止吗?像对方付费吗?对不起,我应该使用更精确的“链式运算符”。看见