/** * Method next returns the next TupleEntry. * * @return TupleEntry */ public TupleEntry next() { hasNext(); // force roll to next iterator entry.setTuple( currentIterator.next() ); return entry; }
/** * Method next returns the next TupleEntry. * * @return TupleEntry */ public TupleEntry next() { hasNext(); // force roll to next iterator entry.setTuple( iterators[ currentIterator ].next() ); return entry; }
public boolean hasNext() { boolean hasNext = grouping.joinIterator.hasNext(); if( !hasNext && !operationCall.isRetainValues() ) tupleEntry.setTuple( valueNulledTuple ); // null out footer entries return hasNext; }
@Override public void sourcePrepare( FlowProcess<? extends Configuration> flowProcess, SourceCall<Object[], RecordReader> sourceCall ) { super.sourcePrepare( flowProcess, sourceCall ); sourceCall.getIncomingEntry().setTuple( TupleViews.createObjectArray() ); }
public TupleEntry next() { argumentsEntry.setTuple( argumentsBuilder.makeResult( grouping.joinIterator.next().getTuple(), null ) ); return argumentsEntry; }
@Override public void sourcePrepare( FlowProcess<? extends Configuration> flowProcess, SourceCall<Object[], RecordReader> sourceCall ) { super.sourcePrepare( flowProcess, sourceCall ); sourceCall.getIncomingEntry().setTuple( TupleViews.createObjectArray() ); }
@Override public void sourcePrepare(FlowProcess<JobConf> flowProcess, SourceCall<Object[], RecordReader> sourceCall) { super.sourcePrepare(flowProcess, sourceCall); sourceCall.getIncomingEntry().setTuple(TupleViews.createObjectArray()); }
@Override public boolean isRemove( FlowProcess flowProcess, FilterCall filterCall ) { Context context = (Logic.Context) filterCall.getContext(); TupleEntry lhsEntry = context.argumentEntries[ 0 ]; TupleEntry rhsEntry = context.argumentEntries[ 1 ]; lhsEntry.setTuple( filterCall.getArguments().selectTuple( argumentSelectors[ 0 ] ) ); rhsEntry.setTuple( filterCall.getArguments().selectTuple( argumentSelectors[ 1 ] ) ); boolean lhsResult = filters[ 0 ].isRemove( flowProcess, context.calls[ 0 ] ); boolean rhsResult = filters[ 1 ].isRemove( flowProcess, context.calls[ 1 ] ); return lhsResult != rhsResult; } }
private void flushTupleEntry() { if (tupleEntry != null) { if (types != null) { CoercibleType<?>[] coercions = Coercions.coercibleArray(types.length, types); Object[] values = Tuples.asArray(tupleEntry.selectTuple(fields), coercions, types, new Object[types.length]); tupleEntry.setTuple(new Tuple(values)); } list.add(tupleEntry.getTuple()); } }
@Override public boolean source(FlowProcess<JobConf> flowProcess, SourceCall<Object[], RecordReader<TupleWrapper, NullWritable>> sourceCall) throws IOException { TupleWrapper key = (TupleWrapper) sourceCall.getContext()[ 0 ]; NullWritable value = (NullWritable) sourceCall.getContext()[ 1 ]; boolean result = sourceCall.getInput().next( key, value ); if( !result ) return false; sourceCall.getIncomingEntry().setTuple(key.tuple); return true; }
@Override public void sourcePrepare( FlowProcess<? extends Properties> flowProcess, SourceCall<LineNumberReader, InputStream> sourceCall ) throws IOException { sourceCall.setContext( createInput( sourceCall.getInput() ) ); sourceCall.getIncomingEntry().setTuple( TupleViews.createObjectArray() ); }
@SuppressWarnings("unchecked") @Override public boolean source(FlowProcess<? extends JobConf> fp, SourceCall<Object[], RecordReader> sc) throws IOException { Container<Tuple> value = (Container<Tuple>) sc.getInput().createValue(); boolean hasNext = sc.getInput().next(null, value); if (!hasNext) { return false; } // Skip nulls if (value == null) { return true; } sc.getIncomingEntry().setTuple(value.get()); return true; }
@Override public boolean source(FlowProcess<JobConf> prcs, SourceCall<Object[], RecordReader> sourceCall) throws IOException { Object key = sourceCall.getContext()[0]; Object value = sourceCall.getContext()[1]; boolean result = sourceCall.getInput().next(key, value); if (!result) { return false; } sourceCall.getIncomingEntry().setTuple(new Tuple(key, value)); return true; }
private void push( Collection<Tuple>[] collections, Tuple keysTuple ) { closure.reset( collections ); keyEntry.setTuple( closure.getGroupTuple( keysTuple ) ); // create Closure type here tupleEntryIterator.reset( splice.getJoiner().getIterator( closure ) ); next.receive( this, 0, grouping ); } }
@SuppressWarnings("unchecked") @Override public boolean source(FlowProcess<? extends JobConf> fp, SourceCall<Object[], RecordReader> sc) throws IOException { Container<T> value = (Container<T>) sc.getInput().createValue(); boolean hasNext = sc.getInput().next(null, value); if (!hasNext) { return false; } // Skip nulls if (value == null) { return true; } sc.getIncomingEntry().setTuple(new Tuple(value.get())); return true; }
@SuppressWarnings("unchecked") @Override public boolean source(FlowProcess<JobConf> fp, SourceCall<Object[], RecordReader> sc) throws IOException { Container<T> value = (Container<T>) sc.getInput().createValue(); boolean hasNext = sc.getInput().next(null, value); if (!hasNext) { return false; } // Skip nulls if (value == null) { return true; } sc.getIncomingEntry().setTuple(new Tuple(value.get())); return true; }
public void accept( Tuple key, Iterator<Tuple>[] values ) { key = unwrapGrouping( key ); closure.reset( key, values ); // Buffer is using JoinerClosure directly if( !isBufferJoin ) tupleEntryIterator.reset( splice.getJoiner().getIterator( closure ) ); else tupleEntryIterator.reset( values ); keyEntry.setTuple( closure.getGroupTuple( key ) ); next.receive( this, 0, grouping ); }
protected void emitTuple(CombinerAggregatorContext context, AggregatorCall aggregatorCall) { TupleEntry output = new TupleEntry(outputFields); output.setTuple(Tuple.size(outputFields.size())); Tuple result = context.getAggregateTuple(); MultiCombiner.populateOutputTupleEntry(context.getDefinition(), output, result); aggregatorCall.getOutputCollector().add(output); } }
@Test public void testSetNull() { TupleEntry entryA = new TupleEntry( new Fields( "a", "b", "c" ), new Tuple( "a", "b", "c" ) ); entryA.setTuple( null ); assertTrue( entryA.getTuple() == null ); }