@Override public boolean next(List<Cell> results) throws IOException { if (!cacheIter.hasNext()) { return false; } Map.Entry<ImmutableBytesWritable, Aggregator[]> ce = cacheIter.next(); ImmutableBytesWritable key = ce.getKey(); Aggregator[] aggs = ce.getValue(); byte[] value = aggregators.toBytes(aggs); if (logger.isDebugEnabled()) { logger.debug("Adding new distinct group: " + Bytes.toStringBinary(key.get(), key.getOffset(), key.getLength()) + " with aggregators " + aggs.toString() + " value = " + Bytes.toStringBinary(value)); } results.add(PhoenixKeyValueUtil.newKeyValue(key.get(), key.getOffset(), key.getLength(), SINGLE_COLUMN_FAMILY, SINGLE_COLUMN, AGG_TIMESTAMP, value, 0, value.length)); return cacheIter.hasNext(); } };
private byte[] serialize(ImmutableBytesPtr key, Aggregator[] aggs, ServerAggregators serverAggs) throws IOException { DataOutputStream output = null; ByteArrayOutputStream bai = null; try { bai = new ByteArrayOutputStream(); output = new DataOutputStream(bai); // key length WritableUtils.writeVInt(output, key.getLength()); // key output.write(key.get(), key.getOffset(), key.getLength()); byte[] aggsByte = serverAggs.toBytes(aggs); // aggs length WritableUtils.writeVInt(output, aggsByte.length); // aggs output.write(aggsByte); return bai.toByteArray(); } finally { if (bai != null) { bai.close(); bai = null; } if (output != null) { output.close(); output = null; } } }
Aggregator[] rowAggregators = entry.getValue(); byte[] value = aggregators.toBytes(rowAggregators);
byte[] value = aggregators.toBytes(rowAggregators); Cell keyValue = PhoenixKeyValueUtil.newKeyValue(currentKey.get(), currentKey.getOffset(),
@Override public boolean next(List<Cell> results) throws IOException { if (!cacheIter.hasNext()) { return false; } Map.Entry<ImmutableBytesWritable, Aggregator[]> ce = cacheIter.next(); ImmutableBytesWritable key = ce.getKey(); Aggregator[] aggs = ce.getValue(); byte[] value = aggregators.toBytes(aggs); if (logger.isDebugEnabled()) { logger.debug("Adding new distinct group: " + Bytes.toStringBinary(key.get(), key.getOffset(), key.getLength()) + " with aggregators " + aggs.toString() + " value = " + Bytes.toStringBinary(value)); } results.add(PhoenixKeyValueUtil.newKeyValue(key.get(), key.getOffset(), key.getLength(), SINGLE_COLUMN_FAMILY, SINGLE_COLUMN, AGG_TIMESTAMP, value, 0, value.length)); return cacheIter.hasNext(); } };
@Override public boolean next(List<Cell> results) throws IOException { if (!cacheIter.hasNext()) { return false; } Map.Entry<ImmutableBytesWritable, Aggregator[]> ce = cacheIter.next(); ImmutableBytesWritable key = ce.getKey(); Aggregator[] aggs = ce.getValue(); byte[] value = aggregators.toBytes(aggs); if (logger.isDebugEnabled()) { logger.debug("Adding new distinct group: " + Bytes.toStringBinary(key.get(), key.getOffset(), key.getLength()) + " with aggregators " + aggs.toString() + " value = " + Bytes.toStringBinary(value)); } results.add(PhoenixKeyValueUtil.newKeyValue(key.get(), key.getOffset(), key.getLength(), SINGLE_COLUMN_FAMILY, SINGLE_COLUMN, AGG_TIMESTAMP, value, 0, value.length)); return cacheIter.hasNext(); } };
private byte[] serialize(ImmutableBytesPtr key, Aggregator[] aggs, ServerAggregators serverAggs) throws IOException { DataOutputStream output = null; ByteArrayOutputStream bai = null; try { bai = new ByteArrayOutputStream(); output = new DataOutputStream(bai); // key length WritableUtils.writeVInt(output, key.getLength()); // key output.write(key.get(), key.getOffset(), key.getLength()); byte[] aggsByte = serverAggs.toBytes(aggs); // aggs length WritableUtils.writeVInt(output, aggsByte.length); // aggs output.write(aggsByte); return bai.toByteArray(); } finally { if (bai != null) { bai.close(); bai = null; } if (output != null) { output.close(); output = null; } } }
private byte[] serialize(ImmutableBytesPtr key, Aggregator[] aggs, ServerAggregators serverAggs) throws IOException { DataOutputStream output = null; ByteArrayOutputStream bai = null; try { bai = new ByteArrayOutputStream(); output = new DataOutputStream(bai); // key length WritableUtils.writeVInt(output, key.getLength()); // key output.write(key.get(), key.getOffset(), key.getLength()); byte[] aggsByte = serverAggs.toBytes(aggs); // aggs length WritableUtils.writeVInt(output, aggsByte.length); // aggs output.write(aggsByte); return bai.toByteArray(); } finally { if (bai != null) { bai.close(); bai = null; } if (output != null) { output.close(); output = null; } } }
Aggregator[] rowAggregators = entry.getValue(); byte[] value = aggregators.toBytes(rowAggregators);
Aggregator[] rowAggregators = entry.getValue(); byte[] value = aggregators.toBytes(rowAggregators);
byte[] value = aggregators.toBytes(rowAggregators); Cell keyValue = PhoenixKeyValueUtil.newKeyValue(currentKey.get(), currentKey.getOffset(),
byte[] value = aggregators.toBytes(rowAggregators); Cell keyValue = PhoenixKeyValueUtil.newKeyValue(currentKey.get(), currentKey.getOffset(),