@Target(value=TYPE) @Retention(value=RUNTIME) @PublicEvolving public static @interface FunctionAnnotation.ReadFieldsFirst
NOTE: The use of the ReadFieldsFirst annotation is optional. If used correctly, it can help the Flink optimizer to generate more efficient execution plans. The ReadFieldsFirst annotation requires that ALL read fields of the first input are declared. Otherwise, it can cause invalid plan choices and the computation of wrong results! Declaring a non-read field as read is not harmful but might reduce optimization potential.
Read fields are declared as a list of field expressions, e.g.,
\@ReadFieldsFirst({"f0; f2"})
declares the first and third field of a Java input tuple
of the first input to be read. All other fields of the first input are considered to not
influence the behavior of the function.
Multiple read fields can be declared in one \@ReadFieldsFirst({"f0; f2"})
or
multiple separate Strings \@ReadFieldsFirst({"f0", "f2"})
.
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–2024 The Apache Software Foundation. All rights reserved.