/** * The private constructor that only gets eIinvoked from the Builder. * @param builder */ protected CrossOperator(Builder builder) { super(builder.udf, OperatorInfoHelper.binary(), builder.name); if (builder.inputs1 != null && !builder.inputs1.isEmpty()) { setFirstInput(Operator.createUnionCascade(builder.inputs1)); } if (builder.inputs2 != null && !builder.inputs2.isEmpty()) { setSecondInput(Operator.createUnionCascade(builder.inputs2)); } setBroadcastVariables(builder.broadcastInputs); setSemanticProperties(FunctionAnnotation.readDualConstantAnnotations(builder.udf)); }
/** * Creates and returns a CrossOperator from using the values given * to the builder. * * @return The created operator */ public CrossOperator build() { setNameIfUnset(); return new CrossOperator(this); }
@Override public Class<? extends Key<?>>[] getKeyClasses() { return emptyClassArray(); }
input_right.setDegreeOfParallelism(config.getInteger("CrossTest#NoSubtasks", 1)); CrossOperator testCross = CrossOperator.builder(new TestCross()).build(); testCross.setDegreeOfParallelism(config.getInteger("CrossTest#NoSubtasks", 1)); testCross.getParameters().setString(PactCompiler.HINT_LOCAL_STRATEGY, config.getString("CrossTest#LocalStrategy", "")); if (config.getString("CrossTest#ShipStrategy", "").equals("BROADCAST_FIRST")) { testCross.getParameters().setString(PactCompiler.HINT_SHIP_STRATEGY_FIRST_INPUT, PactCompiler.HINT_SHIP_STRATEGY_BROADCAST); testCross.getParameters().setString(PactCompiler.HINT_SHIP_STRATEGY_SECOND_INPUT, PactCompiler.HINT_SHIP_STRATEGY_FORWARD); } else if (config.getString("CrossTest#ShipStrategy", "").equals("BROADCAST_SECOND")) { testCross.getParameters().setString(PactCompiler.HINT_SHIP_STRATEGY_FIRST_INPUT, PactCompiler.HINT_SHIP_STRATEGY_BROADCAST); testCross.getParameters().setString(PactCompiler.HINT_SHIP_STRATEGY_SECOND_INPUT, PactCompiler.HINT_SHIP_STRATEGY_FORWARD); } else { testCross.getParameters().setString(PactCompiler.HINT_SHIP_STRATEGY, config.getString("CrossTest#ShipStrategy", "")); testCross.setFirstInput(input_left); testCross.setSecondInput(input_right);