Class CrossOperator.DefaultCross<I1,​I2>

  • Type Parameters:
    I1 - The type of the first input DataSet of the Cross transformation.
    I2 - The type of the second input DataSet of the Cross transformation.
    All Implemented Interfaces:
    UdfOperator<CrossOperator<I1,​I2,​org.apache.flink.api.java.tuple.Tuple2<I1,​I2>>>
    Enclosing class:
    CrossOperator<I1,​I2,​OUT>

    @Public
    public static final class CrossOperator.DefaultCross<I1,​I2>
    extends CrossOperator<I1,​I2,​org.apache.flink.api.java.tuple.Tuple2<I1,​I2>>
    A Cross transformation that wraps pairs of crossed elements into Tuple2.

    It also represents the DataSet that is the result of a Cross transformation.

    See Also:
    Tuple2, DataSet
    • Constructor Detail

      • DefaultCross

        public DefaultCross​(DataSet<I1> input1,
                            DataSet<I2> input2,
                            org.apache.flink.api.common.operators.base.CrossOperatorBase.CrossHint hint,
                            String defaultName)
    • Method Detail

      • with

        public <R> CrossOperator<I1,​I2,​R> with​(org.apache.flink.api.common.functions.CrossFunction<I1,​I2,​R> function)
        Finalizes a Cross transformation by applying a CrossFunction to each pair of crossed elements.

        Each CrossFunction call returns exactly one element.

        Parameters:
        function - The CrossFunction that is called for each pair of crossed elements.
        Returns:
        An CrossOperator that represents the crossed result DataSet
        See Also:
        CrossFunction, DataSet
      • projectFirst

        public <OUT extends org.apache.flink.api.java.tuple.Tuple> CrossOperator.ProjectCross<I1,​I2,​OUT> projectFirst​(int... firstFieldIndexes)
        Initiates a ProjectCross transformation and projects the first cross input.

        If the first cross input is a Tuple DataSet, fields can be selected by their index. If the first cross input is not a Tuple DataSet, no parameters should be passed.

        Fields of the first and second input can be added by chaining the method calls of CrossOperator.ProjectCross.projectFirst(int...) and CrossOperator.ProjectCross.projectSecond(int...).

        Note: With the current implementation, the Project transformation loses type information.

        Parameters:
        firstFieldIndexes - If the first input is a Tuple DataSet, the indexes of the selected fields. For a non-Tuple DataSet, do not provide parameters. The order of fields in the output tuple is defined by to the order of field indexes.
        Returns:
        A ProjectCross which represents the projected cross result.
        See Also:
        Tuple, DataSet, CrossOperator.ProjectCross
      • projectSecond

        public <OUT extends org.apache.flink.api.java.tuple.Tuple> CrossOperator.ProjectCross<I1,​I2,​OUT> projectSecond​(int... secondFieldIndexes)
        Initiates a ProjectCross transformation and projects the second cross input.

        If the second cross input is a Tuple DataSet, fields can be selected by their index. If the second cross input is not a Tuple DataSet, no parameters should be passed.

        Fields of the first and second input can be added by chaining the method calls of CrossOperator.ProjectCross.projectFirst(int...) and CrossOperator.ProjectCross.projectSecond(int...).

        Note: With the current implementation, the Project transformation loses type information.

        Parameters:
        secondFieldIndexes - If the second input is a Tuple DataSet, the indexes of the selected fields. For a non-Tuple DataSet, do not provide parameters. The order of fields in the output tuple is defined by to the order of field indexes.
        Returns:
        A ProjectCross which represents the projected cross result.
        See Also:
        Tuple, DataSet, CrossOperator.ProjectCross