/** * Emits a (reduce) group row, made from the key (copied in at the beginning of the group) and * the row aggregation buffers values * @param agg * @param buffer * @throws HiveException */ private void writeGroupRow(VectorAggregationBufferRow agg, DataOutputBuffer buffer) throws HiveException { int fi = outputKeyLength; // Start after group keys. for (int i = 0; i < aggregators.length; ++i) { vectorAssignRow.assignRowColumn(outputBatch, outputBatch.size, fi++, aggregators[i].evaluateOutput(agg.getAggregationBuffer(i))); } ++outputBatch.size; if (outputBatch.size == VectorizedRowBatch.DEFAULT_SIZE) { flushOutput(); buffer.reset(); } }
forwardCache[fi++] = aggregators[i].evaluateOutput(agg.getAggregationBuffer(i)); aggregators[i].evaluateOutput(agg.getAggregationBuffer(i)));
/** * Emits a (reduce) group row, made from the key (copied in at the beginning of the group) and * the row aggregation buffers values * @param agg * @param buffer * @throws HiveException */ private void writeGroupRow(VectorAggregationBufferRow agg, DataOutputBuffer buffer) throws HiveException { int fi = outputKeyLength; // Start after group keys. for (int i = 0; i < aggregators.length; ++i) { vectorAssignRowSameBatch.assignRowColumn(outputBatch.size, fi++, aggregators[i].evaluateOutput(agg.getAggregationBuffer(i))); } ++outputBatch.size; if (outputBatch.size == VectorizedRowBatch.DEFAULT_SIZE) { flushOutput(); buffer.reset(); } }
forwardCache[fi++] = aggregators[i].evaluateOutput(agg.getAggregationBuffer(i)); aggregators[i].evaluateOutput(agg.getAggregationBuffer(i)));