ShufflePartitioner.java 1.4 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
/***********************************************************************************************************************
 *
 * Copyright (C) 2010-2014 by the Stratosphere project (http://stratosphere.eu)
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
 * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 *
 **********************************************************************************************************************/

16
package eu.stratosphere.streaming.partitioner;
G
Gyula Fora 已提交
17

18 19
import java.util.Random;

20
import eu.stratosphere.nephele.io.ChannelSelector;
21
import eu.stratosphere.streaming.api.streamrecord.StreamRecord;
G
Gyula Fora 已提交
22

23
//Randomly group, to distribute equally
24
public class ShufflePartitioner implements ChannelSelector<StreamRecord> {
25 26 27

	private Random random = new Random();

28
	@Override
29
	public int[] selectChannels(StreamRecord record, int numberOfOutputChannels) {
30
		return new int[] { random.nextInt(numberOfOutputChannels) };
31
	}
G
Gyula Fora 已提交
32
}