@Override protected List<GlobalPropertiesPair> createPossibleGlobalProperties() { ArrayList<GlobalPropertiesPair> pairs = new ArrayList<GlobalPropertiesPair>(); if (this.allowBroadcastFirst) { // replicate first RequestedGlobalProperties replicated1 = new RequestedGlobalProperties(); replicated1.setFullyReplicated(); RequestedGlobalProperties any2 = new RequestedGlobalProperties(); pairs.add(new GlobalPropertiesPair(replicated1, any2)); } if (this.allowBroadcastSecond) { // replicate second RequestedGlobalProperties any1 = new RequestedGlobalProperties(); RequestedGlobalProperties replicated2 = new RequestedGlobalProperties(); replicated2.setFullyReplicated(); pairs.add(new GlobalPropertiesPair(any1, replicated2)); } return pairs; }
@Override protected List<GlobalPropertiesPair> createPossibleGlobalProperties() { RequestedGlobalProperties partitionedGp = new RequestedGlobalProperties(); partitionedGp.setHashPartitioned(this.keys1); return Collections.singletonList(new GlobalPropertiesPair(partitionedGp, new RequestedGlobalProperties())); }
@Override protected List<OperatorDescriptorDual.GlobalPropertiesPair> createPossibleGlobalProperties() { RequestedGlobalProperties partitioned1 = new RequestedGlobalProperties(); partitioned1.setHashPartitioned(this.keys1); RequestedGlobalProperties partitioned2 = new RequestedGlobalProperties(); partitioned2.setHashPartitioned(this.keys2); return Collections.singletonList(new OperatorDescriptorDual.GlobalPropertiesPair(partitioned1, partitioned2)); }
@Override protected List<GlobalPropertiesPair> createPossibleGlobalProperties() { ArrayList<GlobalPropertiesPair> pairs = new ArrayList<GlobalPropertiesPair>(); if (this.allowBroadcastFirst) { // replicate first RequestedGlobalProperties replicated1 = new RequestedGlobalProperties(); replicated1.setFullyReplicated(); RequestedGlobalProperties any2 = new RequestedGlobalProperties(); pairs.add(new GlobalPropertiesPair(replicated1, any2)); } if (this.allowBroadcastSecond) { // replicate second RequestedGlobalProperties any1 = new RequestedGlobalProperties(); RequestedGlobalProperties replicated2 = new RequestedGlobalProperties(); replicated2.setFullyReplicated(); pairs.add(new GlobalPropertiesPair(any1, replicated2)); } return pairs; }
@Override protected List<GlobalPropertiesPair> createPossibleGlobalProperties() { ArrayList<GlobalPropertiesPair> pairs = new ArrayList<GlobalPropertiesPair>(); if (this.allowBroadcastFirst) { // replicate first RequestedGlobalProperties replicated1 = new RequestedGlobalProperties(); replicated1.setFullyReplicated(); RequestedGlobalProperties any2 = new RequestedGlobalProperties(); pairs.add(new GlobalPropertiesPair(replicated1, any2)); } if (this.allowBroadcastSecond) { // replicate second RequestedGlobalProperties any1 = new RequestedGlobalProperties(); RequestedGlobalProperties replicated2 = new RequestedGlobalProperties(); replicated2.setFullyReplicated(); pairs.add(new GlobalPropertiesPair(any1, replicated2)); } return pairs; }
@Override protected List<GlobalPropertiesPair> createPossibleGlobalProperties() { // all properties are possible return Collections.singletonList(new GlobalPropertiesPair( new RequestedGlobalProperties(), new RequestedGlobalProperties())); }
@Override protected List<GlobalPropertiesPair> createPossibleGlobalProperties() { RequestedGlobalProperties partitionedGp = new RequestedGlobalProperties(); partitionedGp.setHashPartitioned(this.keys1); return Collections.singletonList(new GlobalPropertiesPair(partitionedGp, new RequestedGlobalProperties())); }
@Override protected List<GlobalPropertiesPair> createPossibleGlobalProperties() { // all properties are possible return Collections.singletonList(new GlobalPropertiesPair( new RequestedGlobalProperties(), new RequestedGlobalProperties())); }
@Override protected List<OperatorDescriptorDual.GlobalPropertiesPair> createPossibleGlobalProperties() { RequestedGlobalProperties partitioned1 = new RequestedGlobalProperties(); partitioned1.setHashPartitioned(this.keys1); RequestedGlobalProperties partitioned2 = new RequestedGlobalProperties(); partitioned2.setHashPartitioned(this.keys2); return Collections.singletonList(new OperatorDescriptorDual.GlobalPropertiesPair(partitioned1, partitioned2)); }
@Override protected List<GlobalPropertiesPair> createPossibleGlobalProperties() { // all properties are possible return Collections.singletonList(new GlobalPropertiesPair( new RequestedGlobalProperties(), new RequestedGlobalProperties())); }
@Override protected List<OperatorDescriptorDual.GlobalPropertiesPair> createPossibleGlobalProperties() { RequestedGlobalProperties partitioned1 = new RequestedGlobalProperties(); partitioned1.setHashPartitioned(this.keys1); RequestedGlobalProperties partitioned2 = new RequestedGlobalProperties(); partitioned2.setHashPartitioned(this.keys2); return Collections.singletonList(new OperatorDescriptorDual.GlobalPropertiesPair(partitioned1, partitioned2)); }
@Override protected List<OperatorDescriptorDual.GlobalPropertiesPair> createPossibleGlobalProperties() { RequestedGlobalProperties partitioned1 = new RequestedGlobalProperties(); partitioned1.setHashPartitioned(this.keys1); RequestedGlobalProperties partitioned2 = new RequestedGlobalProperties(); partitioned2.setHashPartitioned(this.keys2); return Collections.singletonList(new OperatorDescriptorDual.GlobalPropertiesPair(partitioned1, partitioned2)); }
@Override protected List<GlobalPropertiesPair> createPossibleGlobalProperties() { // all properties are possible return Collections.singletonList(new GlobalPropertiesPair( new RequestedGlobalProperties(), new RequestedGlobalProperties())); }
@Override protected List<GlobalPropertiesPair> createPossibleGlobalProperties() { RequestedGlobalProperties partitionedGp = new RequestedGlobalProperties(); partitionedGp.setHashPartitioned(this.keys1); return Collections.singletonList(new GlobalPropertiesPair(partitionedGp, new RequestedGlobalProperties())); }
@Override protected List<GlobalPropertiesPair> createPossibleGlobalProperties() { RequestedGlobalProperties partitionedGp = new RequestedGlobalProperties(); partitionedGp.setHashPartitioned(this.keys1); return Collections.singletonList(new GlobalPropertiesPair(partitionedGp, new RequestedGlobalProperties())); }
@Override protected List<GlobalPropertiesPair> createPossibleGlobalProperties() { RequestedGlobalProperties partitionedGp = new RequestedGlobalProperties(); partitionedGp.setHashPartitioned(this.keys1); return Collections.singletonList(new GlobalPropertiesPair(partitionedGp, new RequestedGlobalProperties())); }
@Override protected List<OperatorDescriptorDual.GlobalPropertiesPair> createPossibleGlobalProperties() { RequestedGlobalProperties partitioned1 = new RequestedGlobalProperties(); partitioned1.setHashPartitioned(this.keys1); RequestedGlobalProperties partitioned2 = new RequestedGlobalProperties(); partitioned2.setHashPartitioned(this.keys2); return Collections.singletonList(new OperatorDescriptorDual.GlobalPropertiesPair(partitioned1, partitioned2)); }
partitioned_left_any.setAnyPartitioning(this.keys1); partitioned_right_any.setAnyPartitioning(this.keys2); pairs.add(new GlobalPropertiesPair(partitioned_left_any, partitioned_right_any)); partitioned_left_hash.setHashPartitioned(this.keys1); partitioned_right_hash.setHashPartitioned(this.keys2); pairs.add(new GlobalPropertiesPair(partitioned_left_hash, partitioned_right_hash)); partitioned_right.setCustomPartitioned(this.keys2, this.customPartitioner); return Collections.singletonList(new GlobalPropertiesPair(partitioned_left, partitioned_right)); pairs.add(new GlobalPropertiesPair(partitioned1, partitioned2)); RequestedGlobalProperties replicated2 = new RequestedGlobalProperties(); replicated2.setFullyReplicated(); pairs.add(new GlobalPropertiesPair(any1, replicated2)); replicated1.setFullyReplicated(); RequestedGlobalProperties any2 = new RequestedGlobalProperties(); pairs.add(new GlobalPropertiesPair(replicated1, any2));
@Override protected List<GlobalPropertiesPair> createPossibleGlobalProperties() { if (this.customPartitioner == null) { // we accept compatible partitionings of any type RequestedGlobalProperties partitioned_left_any = new RequestedGlobalProperties(); RequestedGlobalProperties partitioned_right_any = new RequestedGlobalProperties(); partitioned_left_any.setAnyPartitioning(this.keys1); partitioned_right_any.setAnyPartitioning(this.keys2); // add strict hash partitioning of both inputs on their full key sets RequestedGlobalProperties partitioned_left_hash = new RequestedGlobalProperties(); RequestedGlobalProperties partitioned_right_hash = new RequestedGlobalProperties(); partitioned_left_hash.setHashPartitioned(this.keys1); partitioned_right_hash.setHashPartitioned(this.keys2); return Arrays.asList(new GlobalPropertiesPair(partitioned_left_any, partitioned_right_any), new GlobalPropertiesPair(partitioned_left_hash, partitioned_right_hash)); } else { RequestedGlobalProperties partitioned_left = new RequestedGlobalProperties(); partitioned_left.setCustomPartitioned(this.keys1, this.customPartitioner); RequestedGlobalProperties partitioned_right = new RequestedGlobalProperties(); partitioned_right.setCustomPartitioned(this.keys2, this.customPartitioner); return Collections.singletonList(new GlobalPropertiesPair(partitioned_left, partitioned_right)); } }
@Override protected List<GlobalPropertiesPair> createPossibleGlobalProperties() { // all properties are possible return Collections.singletonList(new GlobalPropertiesPair( new RequestedGlobalProperties(), new RequestedGlobalProperties())); }