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中的单个框(节点)中。当您说流水线时,您的意思是它们以操作终止吗?像对方付费吗?对不起,我应该使用更精确的“链式运算符”。看见