@Override public void prepare() { if( role != IORole.source ) { throw new UnsupportedOperationException("Non-source group by not supported in GroupByInGate"); } if( role != IORole.sink ) { closure = new GroupByClosure(flowProcess, keyFields, valuesFields); } if( grouping != null && splice.getJoinDeclaredFields() != null && splice.getJoinDeclaredFields().isNone() ) { grouping.joinerClosure = closure; } }
@Override public void prepare() { if( role != IORole.source ) collector = new MeasuredOutputCollector( flowProcess, SliceCounters.Write_Duration, createOutputCollector() ); if( role != IORole.sink ) closure = createClosure(); if( grouping != null && splice.getJoinDeclaredFields() != null && splice.getJoinDeclaredFields().isNone() ) grouping.joinerClosure = closure; }
@Override public void prepare() { if( role != IORole.source ) collector = new MeasuredOutputCollector( flowProcess, SliceCounters.Write_Duration, createOutputCollector() ); if( role != IORole.sink ) closure = createClosure(); if( grouping != null && splice.getJoinDeclaredFields() != null && splice.getJoinDeclaredFields().isNone() ) grouping.joinerClosure = closure; }
@Override public void prepare() { if( role != IORole.source ) { throw new UnsupportedOperationException("Non-source group by not supported in CoGroupBufferInGate"); } if( role != IORole.sink ) { closure = new CoGroupBufferClosure(flowProcess, this.getSplice().getNumSelfJoins(), keyFields, valuesFields); } if( grouping != null && splice.getJoinDeclaredFields() != null && splice.getJoinDeclaredFields().isNone() ) { grouping.joinerClosure = closure; } }
@Override public void prepare() { super.prepare(); keyValues = createKeyValuesArray(); closure = new MemoryCoGroupClosure( flowProcess, splice.getNumSelfJoins(), keyFields, valuesFields ); if( grouping != null && splice.getJoinDeclaredFields() != null && splice.getJoinDeclaredFields().isNone() ) grouping.joinerClosure = closure; }
@Override public void prepare() { if( role != IORole.source ) { throw new UnsupportedOperationException("Non-source group by not supported in GroupByInGate"); } if( role != IORole.sink ) { Fields[] keyFields; Fields[] valuesFields; if(splice.isSelfJoin()) { keyFields = new Fields[splice.getNumSelfJoins() + 1]; valuesFields = new Fields[splice.getNumSelfJoins() + 1]; for(int i=0; i<keyFields.length; i++) { keyFields[i] = super.keyFields[0]; valuesFields[i] = super.valuesFields[0]; } } else { keyFields = super.keyFields; valuesFields = super.valuesFields; } closure = new JoinClosure(flowProcess, keyFields, valuesFields); } if( grouping != null && splice.getJoinDeclaredFields() != null && splice.getJoinDeclaredFields().isNone() ) { grouping.joinerClosure = closure; } this.resultIterator = new JoinResultIterator(closure, this.splice.getJoiner()); }
Fields declaredFields = getJoinDeclaredFields();