final UnaryOperatorInformation sipOperatorInformation = new UnaryOperatorInformation(sourceOutputType, isdTypeInformation); final MapPartitionOperatorBase sipOperatorBase = new MapPartitionOperatorBase(sampleInPartition, sipOperatorInformation, SIP_NAME); final MapPartitionNode sipNode = new MapPartitionNode(sipOperatorBase); final Channel sipChannel = new Channel(sourceNode, TempMode.NONE); sipChannel.setShipStrategy(ShipStrategyType.FORWARD, DataExchangeMode.PIPELINED); final SingleInputPlanNode sipPlanNode = new SingleInputPlanNode(sipNode, SIP_NAME, sipChannel, DriverStrategy.MAP_PARTITION); sipNode.setParallelism(sourceParallelism); sipPlanNode.setParallelism(sourceParallelism); sipPlanNode.initProperties(new GlobalProperties(), new LocalProperties()); final UnaryOperatorInformation rbOperatorInformation = new UnaryOperatorInformation(sourceOutputType, rbTypeInformation); final MapPartitionOperatorBase rbOperatorBase = new MapPartitionOperatorBase(rangeBoundaryBuilder, rbOperatorInformation, RB_NAME); final MapPartitionNode rbNode = new MapPartitionNode(rbOperatorBase); final Channel rbChannel = new Channel(sicPlanNode, TempMode.NONE); rbChannel.setShipStrategy(ShipStrategyType.FORWARD, DataExchangeMode.PIPELINED); final SingleInputPlanNode rbPlanNode = new SingleInputPlanNode(rbNode, RB_NAME, rbChannel, DriverStrategy.MAP_PARTITION); rbNode.setParallelism(1); rbPlanNode.setParallelism(1); rbPlanNode.initProperties(new GlobalProperties(), new LocalProperties()); final UnaryOperatorInformation ariOperatorInformation = new UnaryOperatorInformation(sourceOutputType, ariOutputTypeInformation); final MapPartitionOperatorBase ariOperatorBase = new MapPartitionOperatorBase(assignRangeIndex, ariOperatorInformation, ARI_NAME); final MapPartitionNode ariNode = new MapPartitionNode(ariOperatorBase); final Channel ariChannel = new Channel(sourceNode, TempMode.NONE); ariNode.setParallelism(sourceParallelism); ariPlanNode.setParallelism(sourceParallelism); ariPlanNode.initProperties(new GlobalProperties(), new LocalProperties());
@Override protected SemanticProperties getSemanticPropertiesForLocalPropertyFiltering() { // Local properties for MapPartition may not be preserved. SingleInputSemanticProperties origProps = ((SingleInputOperator<?,?,?>) getOperator()).getSemanticProperties(); SingleInputSemanticProperties filteredProps = new SingleInputSemanticProperties(); FieldSet readSet = origProps.getReadFields(0); if(readSet != null) { filteredProps.addReadFields(readSet); } return filteredProps; }
@Test public void testGetSemanticProperties() { SingleInputSemanticProperties origProps = new SingleInputSemanticProperties(); origProps.addForwardedField(0, 1); origProps.addForwardedField(2, 2); origProps.addReadFields(new FieldSet(0, 2, 4, 7)); MapPartitionOperatorBase<?,?,?> op = mock(MapPartitionOperatorBase.class); when(op.getSemanticProperties()).thenReturn(origProps); when(op.getKeyColumns(0)).thenReturn(new int[]{}); MapPartitionNode node = new MapPartitionNode(op); SemanticProperties filteredProps = node.getSemanticPropertiesForLocalPropertyFiltering(); assertTrue(filteredProps.getForwardingTargetFields(0, 0).size() == 0); assertTrue(filteredProps.getForwardingTargetFields(0, 2).size() == 0); assertTrue(filteredProps.getForwardingSourceField(0, 1) < 0); assertTrue(filteredProps.getForwardingSourceField(0, 2) < 0); assertTrue(filteredProps.getReadFields(0).size() == 4); assertTrue(filteredProps.getReadFields(0).contains(0)); assertTrue(filteredProps.getReadFields(0).contains(2)); assertTrue(filteredProps.getReadFields(0).contains(4)); assertTrue(filteredProps.getReadFields(0).contains(7)); }
n = new MapPartitionNode((MapPartitionOperatorBase<?, ?, ?>) c);
n = new MapPartitionNode((MapPartitionOperatorBase<?, ?, ?>) c);
final UnaryOperatorInformation sipOperatorInformation = new UnaryOperatorInformation(sourceOutputType, isdTypeInformation); final MapPartitionOperatorBase sipOperatorBase = new MapPartitionOperatorBase(sampleInPartition, sipOperatorInformation, SIP_NAME); final MapPartitionNode sipNode = new MapPartitionNode(sipOperatorBase); final Channel sipChannel = new Channel(sourceNode, TempMode.NONE); sipChannel.setShipStrategy(ShipStrategyType.FORWARD, DataExchangeMode.PIPELINED); final SingleInputPlanNode sipPlanNode = new SingleInputPlanNode(sipNode, SIP_NAME, sipChannel, DriverStrategy.MAP_PARTITION); sipNode.setParallelism(sourceParallelism); sipPlanNode.setParallelism(sourceParallelism); sipPlanNode.initProperties(new GlobalProperties(), new LocalProperties()); final UnaryOperatorInformation rbOperatorInformation = new UnaryOperatorInformation(sourceOutputType, rbTypeInformation); final MapPartitionOperatorBase rbOperatorBase = new MapPartitionOperatorBase(rangeBoundaryBuilder, rbOperatorInformation, RB_NAME); final MapPartitionNode rbNode = new MapPartitionNode(rbOperatorBase); final Channel rbChannel = new Channel(sicPlanNode, TempMode.NONE); rbChannel.setShipStrategy(ShipStrategyType.FORWARD, DataExchangeMode.PIPELINED); final SingleInputPlanNode rbPlanNode = new SingleInputPlanNode(rbNode, RB_NAME, rbChannel, DriverStrategy.MAP_PARTITION); rbNode.setParallelism(1); rbPlanNode.setParallelism(1); rbPlanNode.initProperties(new GlobalProperties(), new LocalProperties()); final UnaryOperatorInformation ariOperatorInformation = new UnaryOperatorInformation(sourceOutputType, ariOutputTypeInformation); final MapPartitionOperatorBase ariOperatorBase = new MapPartitionOperatorBase(assignRangeIndex, ariOperatorInformation, ARI_NAME); final MapPartitionNode ariNode = new MapPartitionNode(ariOperatorBase); final Channel ariChannel = new Channel(sourceNode, TempMode.NONE); ariNode.setParallelism(sourceParallelism); ariPlanNode.setParallelism(sourceParallelism); ariPlanNode.initProperties(new GlobalProperties(), new LocalProperties());
n = new MapPartitionNode((MapPartitionOperatorBase<?, ?, ?>) c);
@Override protected SemanticProperties getSemanticPropertiesForLocalPropertyFiltering() { // Local properties for MapPartition may not be preserved. SingleInputSemanticProperties origProps = ((SingleInputOperator<?,?,?>) getOperator()).getSemanticProperties(); SingleInputSemanticProperties filteredProps = new SingleInputSemanticProperties(); FieldSet readSet = origProps.getReadFields(0); if(readSet != null) { filteredProps.addReadFields(readSet); } return filteredProps; }
final UnaryOperatorInformation sipOperatorInformation = new UnaryOperatorInformation(sourceOutputType, isdTypeInformation); final MapPartitionOperatorBase sipOperatorBase = new MapPartitionOperatorBase(sampleInPartition, sipOperatorInformation, SIP_NAME); final MapPartitionNode sipNode = new MapPartitionNode(sipOperatorBase); final Channel sipChannel = new Channel(sourceNode, TempMode.NONE); sipChannel.setShipStrategy(ShipStrategyType.FORWARD, DataExchangeMode.PIPELINED); final SingleInputPlanNode sipPlanNode = new SingleInputPlanNode(sipNode, SIP_NAME, sipChannel, DriverStrategy.MAP_PARTITION); sipNode.setParallelism(sourceParallelism); sipPlanNode.setParallelism(sourceParallelism); sipPlanNode.initProperties(new GlobalProperties(), new LocalProperties()); final UnaryOperatorInformation rbOperatorInformation = new UnaryOperatorInformation(sourceOutputType, rbTypeInformation); final MapPartitionOperatorBase rbOperatorBase = new MapPartitionOperatorBase(rangeBoundaryBuilder, rbOperatorInformation, RB_NAME); final MapPartitionNode rbNode = new MapPartitionNode(rbOperatorBase); final Channel rbChannel = new Channel(sicPlanNode, TempMode.NONE); rbChannel.setShipStrategy(ShipStrategyType.FORWARD, DataExchangeMode.PIPELINED); final SingleInputPlanNode rbPlanNode = new SingleInputPlanNode(rbNode, RB_NAME, rbChannel, DriverStrategy.MAP_PARTITION); rbNode.setParallelism(1); rbPlanNode.setParallelism(1); rbPlanNode.initProperties(new GlobalProperties(), new LocalProperties()); final UnaryOperatorInformation ariOperatorInformation = new UnaryOperatorInformation(sourceOutputType, ariOutputTypeInformation); final MapPartitionOperatorBase ariOperatorBase = new MapPartitionOperatorBase(assignRangeIndex, ariOperatorInformation, ARI_NAME); final MapPartitionNode ariNode = new MapPartitionNode(ariOperatorBase); final Channel ariChannel = new Channel(sourceNode, TempMode.NONE); ariNode.setParallelism(sourceParallelism); ariPlanNode.setParallelism(sourceParallelism); ariPlanNode.initProperties(new GlobalProperties(), new LocalProperties());
n = new MapPartitionNode((MapPartitionOperatorBase<?, ?, ?>) c);
@Override protected SemanticProperties getSemanticPropertiesForLocalPropertyFiltering() { // Local properties for MapPartition may not be preserved. SingleInputSemanticProperties origProps = ((SingleInputOperator<?,?,?>) getOperator()).getSemanticProperties(); SingleInputSemanticProperties filteredProps = new SingleInputSemanticProperties(); FieldSet readSet = origProps.getReadFields(0); if(readSet != null) { filteredProps.addReadFields(readSet); } return filteredProps; }
final UnaryOperatorInformation sipOperatorInformation = new UnaryOperatorInformation(sourceOutputType, isdTypeInformation); final MapPartitionOperatorBase sipOperatorBase = new MapPartitionOperatorBase(sampleInPartition, sipOperatorInformation, SIP_NAME); final MapPartitionNode sipNode = new MapPartitionNode(sipOperatorBase); final Channel sipChannel = new Channel(sourceNode, TempMode.NONE); sipChannel.setShipStrategy(ShipStrategyType.FORWARD, DataExchangeMode.PIPELINED); final SingleInputPlanNode sipPlanNode = new SingleInputPlanNode(sipNode, SIP_NAME, sipChannel, DriverStrategy.MAP_PARTITION); sipNode.setParallelism(sourceParallelism); sipPlanNode.setParallelism(sourceParallelism); sipPlanNode.initProperties(new GlobalProperties(), new LocalProperties()); final UnaryOperatorInformation rbOperatorInformation = new UnaryOperatorInformation(sourceOutputType, rbTypeInformation); final MapPartitionOperatorBase rbOperatorBase = new MapPartitionOperatorBase(rangeBoundaryBuilder, rbOperatorInformation, RB_NAME); final MapPartitionNode rbNode = new MapPartitionNode(rbOperatorBase); final Channel rbChannel = new Channel(sicPlanNode, TempMode.NONE); rbChannel.setShipStrategy(ShipStrategyType.FORWARD, DataExchangeMode.PIPELINED); final SingleInputPlanNode rbPlanNode = new SingleInputPlanNode(rbNode, RB_NAME, rbChannel, DriverStrategy.MAP_PARTITION); rbNode.setParallelism(1); rbPlanNode.setParallelism(1); rbPlanNode.initProperties(new GlobalProperties(), new LocalProperties()); final UnaryOperatorInformation ariOperatorInformation = new UnaryOperatorInformation(sourceOutputType, ariOutputTypeInformation); final MapPartitionOperatorBase ariOperatorBase = new MapPartitionOperatorBase(assignRangeIndex, ariOperatorInformation, ARI_NAME); final MapPartitionNode ariNode = new MapPartitionNode(ariOperatorBase); final Channel ariChannel = new Channel(sourceNode, TempMode.NONE); ariNode.setParallelism(sourceParallelism); ariPlanNode.setParallelism(sourceParallelism); ariPlanNode.initProperties(new GlobalProperties(), new LocalProperties());
n = new MapPartitionNode((MapPartitionOperatorBase<?, ?, ?>) c);
@Override protected SemanticProperties getSemanticPropertiesForLocalPropertyFiltering() { // Local properties for MapPartition may not be preserved. SingleInputSemanticProperties origProps = ((SingleInputOperator<?,?,?>) getOperator()).getSemanticProperties(); SingleInputSemanticProperties filteredProps = new SingleInputSemanticProperties(); FieldSet readSet = origProps.getReadFields(0); if(readSet != null) { filteredProps.addReadFields(readSet); } return filteredProps; }
final UnaryOperatorInformation sipOperatorInformation = new UnaryOperatorInformation(sourceOutputType, isdTypeInformation); final MapPartitionOperatorBase sipOperatorBase = new MapPartitionOperatorBase(sampleInPartition, sipOperatorInformation, SIP_NAME); final MapPartitionNode sipNode = new MapPartitionNode(sipOperatorBase); final Channel sipChannel = new Channel(sourceNode, TempMode.NONE); sipChannel.setShipStrategy(ShipStrategyType.FORWARD, DataExchangeMode.PIPELINED); final SingleInputPlanNode sipPlanNode = new SingleInputPlanNode(sipNode, SIP_NAME, sipChannel, DriverStrategy.MAP_PARTITION); sipNode.setParallelism(sourceParallelism); sipPlanNode.setParallelism(sourceParallelism); sipPlanNode.initProperties(new GlobalProperties(), new LocalProperties()); final UnaryOperatorInformation rbOperatorInformation = new UnaryOperatorInformation(sourceOutputType, rbTypeInformation); final MapPartitionOperatorBase rbOperatorBase = new MapPartitionOperatorBase(rangeBoundaryBuilder, rbOperatorInformation, RB_NAME); final MapPartitionNode rbNode = new MapPartitionNode(rbOperatorBase); final Channel rbChannel = new Channel(sicPlanNode, TempMode.NONE); rbChannel.setShipStrategy(ShipStrategyType.FORWARD, DataExchangeMode.PIPELINED); final SingleInputPlanNode rbPlanNode = new SingleInputPlanNode(rbNode, RB_NAME, rbChannel, DriverStrategy.MAP_PARTITION); rbNode.setParallelism(1); rbPlanNode.setParallelism(1); rbPlanNode.initProperties(new GlobalProperties(), new LocalProperties()); final UnaryOperatorInformation ariOperatorInformation = new UnaryOperatorInformation(sourceOutputType, ariOutputTypeInformation); final MapPartitionOperatorBase ariOperatorBase = new MapPartitionOperatorBase(assignRangeIndex, ariOperatorInformation, ARI_NAME); final MapPartitionNode ariNode = new MapPartitionNode(ariOperatorBase); final Channel ariChannel = new Channel(sourceNode, TempMode.NONE); ariNode.setParallelism(sourceParallelism); ariPlanNode.setParallelism(sourceParallelism); ariPlanNode.initProperties(new GlobalProperties(), new LocalProperties());
@Override protected SemanticProperties getSemanticPropertiesForLocalPropertyFiltering() { // Local properties for MapPartition may not be preserved. SingleInputSemanticProperties origProps = ((SingleInputOperator<?,?,?>) getOperator()).getSemanticProperties(); SingleInputSemanticProperties filteredProps = new SingleInputSemanticProperties(); FieldSet readSet = origProps.getReadFields(0); if(readSet != null) { filteredProps.addReadFields(readSet); } return filteredProps; }