@Target(value=TYPE) @Retention(value=RUNTIME) public static @interface FunctionAnnotation.NonForwardedFieldsSecond
FunctionAnnotation.ForwardedFieldsSecond
annotation.
NOTE: The use of the NonForwardedFieldsSecond annotation is optional.
If used correctly, it can help the Flink optimizer to generate more efficient execution plans.
However if used incorrectly, it can cause invalid plan choices and the computation of wrong results!
Since all not declared fields are considered to be forwarded, it is required that ALL non-forwarded fields of the second input are declared.
Non-forwarded fields are declared as a list of field expressions, e.g., \@NonForwardedFieldsSecond({"f1; f3"})
declares that the second and fourth field of a Java tuple from the second input are modified and
all other fields of the second input are are not changed and remain on their position.
A NonForwardedFieldsSecond annotation can only be used on functions where the type of the second input and the output are identical.
Multiple non-forwarded fields can be annotated in one (\@NonForwardedFieldsSecond({"f1; f3"})
)
or separate Strings (\@NonForwardedFieldsSecond({"f1", "f3"})
).
Please refer to the JavaDoc of Function
or Flink's documentation for
details on field expressions such as nested fields and wildcard.public abstract String[] value
Copyright © 2014–2016 The Apache Software Foundation. All rights reserved.