n = new CoGroupNode((CoGroupOperatorBase<?, ?, ?, ?>) c);
if (cg.getFirstPredecessorNode() == solutionSetNode) { cg.makeCoGroupWithSolutionSet(0); } else if (cg.getSecondPredecessorNode() == solutionSetNode) { cg.makeCoGroupWithSolutionSet(1); } else { throw new CompilerException();
private List<OperatorDescriptorDual> initializeDataProperties(Partitioner<?> customPartitioner) { Ordering groupOrder1 = null; Ordering groupOrder2 = null; CoGroupOperatorBase<?, ?, ?, ?> cgc = getOperator(); groupOrder1 = cgc.getGroupOrderForInputOne(); groupOrder2 = cgc.getGroupOrderForInputTwo(); if (groupOrder1 != null && groupOrder1.getNumberOfFields() == 0) { groupOrder1 = null; } if (groupOrder2 != null && groupOrder2.getNumberOfFields() == 0) { groupOrder2 = null; } CoGroupDescriptor descr = new CoGroupDescriptor(this.keys1, this.keys2, groupOrder1, groupOrder2); if (customPartitioner != null) { descr.setCustomPartitioner(customPartitioner); } return Collections.<OperatorDescriptorDual>singletonList(descr); } }
public CoGroupNode(CoGroupOperatorBase<?, ?, ?, ?> operator) { super(operator); this.dataProperties = initializeDataProperties(operator.getCustomPartitioner()); }
when(op.getParameters()).thenReturn(new Configuration()); CoGroupNode node = new CoGroupNode(op); SemanticProperties filteredProps = node.getSemanticPropertiesForLocalPropertyFiltering();
public CoGroupNode(CoGroupOperatorBase<?, ?, ?, ?> operator) { super(operator); this.dataProperties = initializeDataProperties(operator.getCustomPartitioner()); }
if (cg.getFirstPredecessorNode() == solutionSetNode) { cg.makeCoGroupWithSolutionSet(0); } else if (cg.getSecondPredecessorNode() == solutionSetNode) { cg.makeCoGroupWithSolutionSet(1); } else { throw new CompilerException();
@Override protected SemanticProperties getSemanticPropertiesForLocalPropertyFiltering() { // Local properties for CoGroup may only be preserved on key fields. DualInputSemanticProperties origProps = ((DualInputOperator<?, ?, ?, ?>) getOperator()).getSemanticProperties(); DualInputSemanticProperties filteredProps = new DualInputSemanticProperties(); FieldSet readSet1 = origProps.getReadFields(0); FieldSet readSet2 = origProps.getReadFields(1); if(readSet1 != null) { filteredProps.addReadFields(0, readSet1); } if(readSet2 != null) { filteredProps.addReadFields(1, readSet2); } // preserve only key fields (first input) for(int f : this.keys1) { FieldSet targets = origProps.getForwardingTargetFields(0, f); for(int t : targets) { filteredProps.addForwardedField(0, f, t); } } // preserve only key fields (second input) for(int f : this.keys2) { FieldSet targets = origProps.getForwardingTargetFields(1, f); for(int t : targets) { filteredProps.addForwardedField(1, f, t); } } return filteredProps; }
n = new CoGroupNode((CoGroupOperatorBase<?, ?, ?, ?>) c);
public CoGroupNode(CoGroupOperatorBase<?, ?, ?, ?> operator) { super(operator); this.dataProperties = initializeDataProperties(operator.getCustomPartitioner()); }
if (cg.getFirstPredecessorNode() == solutionSetNode) { cg.makeCoGroupWithSolutionSet(0); } else if (cg.getSecondPredecessorNode() == solutionSetNode) { cg.makeCoGroupWithSolutionSet(1); } else { throw new CompilerException();
private List<OperatorDescriptorDual> initializeDataProperties(Partitioner<?> customPartitioner) { Ordering groupOrder1 = null; Ordering groupOrder2 = null; CoGroupOperatorBase<?, ?, ?, ?> cgc = getOperator(); groupOrder1 = cgc.getGroupOrderForInputOne(); groupOrder2 = cgc.getGroupOrderForInputTwo(); if (groupOrder1 != null && groupOrder1.getNumberOfFields() == 0) { groupOrder1 = null; } if (groupOrder2 != null && groupOrder2.getNumberOfFields() == 0) { groupOrder2 = null; } CoGroupDescriptor descr = new CoGroupDescriptor(this.keys1, this.keys2, groupOrder1, groupOrder2); if (customPartitioner != null) { descr.setCustomPartitioner(customPartitioner); } return Collections.<OperatorDescriptorDual>singletonList(descr); } }
n = new CoGroupNode((CoGroupOperatorBase<?, ?, ?, ?>) c);
public CoGroupNode(CoGroupOperatorBase<?, ?, ?, ?> operator) { super(operator); this.dataProperties = initializeDataProperties(operator.getCustomPartitioner()); }
if (cg.getFirstPredecessorNode() == solutionSetNode) { cg.makeCoGroupWithSolutionSet(0); } else if (cg.getSecondPredecessorNode() == solutionSetNode) { cg.makeCoGroupWithSolutionSet(1); } else { throw new CompilerException();
private List<OperatorDescriptorDual> initializeDataProperties(Partitioner<?> customPartitioner) { Ordering groupOrder1 = null; Ordering groupOrder2 = null; CoGroupOperatorBase<?, ?, ?, ?> cgc = getOperator(); groupOrder1 = cgc.getGroupOrderForInputOne(); groupOrder2 = cgc.getGroupOrderForInputTwo(); if (groupOrder1 != null && groupOrder1.getNumberOfFields() == 0) { groupOrder1 = null; } if (groupOrder2 != null && groupOrder2.getNumberOfFields() == 0) { groupOrder2 = null; } CoGroupDescriptor descr = new CoGroupDescriptor(this.keys1, this.keys2, groupOrder1, groupOrder2); if (customPartitioner != null) { descr.setCustomPartitioner(customPartitioner); } return Collections.<OperatorDescriptorDual>singletonList(descr); } }
n = new CoGroupNode((CoGroupOperatorBase<?, ?, ?, ?>) c);
public CoGroupNode(CoGroupOperatorBase<?, ?, ?, ?> operator) { super(operator); this.dataProperties = initializeDataProperties(operator.getCustomPartitioner()); }
if (cg.getFirstPredecessorNode() == solutionSetNode) { cg.makeCoGroupWithSolutionSet(0); } else if (cg.getSecondPredecessorNode() == solutionSetNode) { cg.makeCoGroupWithSolutionSet(1); } else { throw new CompilerException();
private List<OperatorDescriptorDual> initializeDataProperties(Partitioner<?> customPartitioner) { Ordering groupOrder1 = null; Ordering groupOrder2 = null; CoGroupOperatorBase<?, ?, ?, ?> cgc = getOperator(); groupOrder1 = cgc.getGroupOrderForInputOne(); groupOrder2 = cgc.getGroupOrderForInputTwo(); if (groupOrder1 != null && groupOrder1.getNumberOfFields() == 0) { groupOrder1 = null; } if (groupOrder2 != null && groupOrder2.getNumberOfFields() == 0) { groupOrder2 = null; } CoGroupDescriptor descr = new CoGroupDescriptor(this.keys1, this.keys2, groupOrder1, groupOrder2); if (customPartitioner != null) { descr.setCustomPartitioner(customPartitioner); } return Collections.<OperatorDescriptorDual>singletonList(descr); } }