public abstract class HyperLogLogCollector extends Object implements Comparable<HyperLogLogCollector>
for (int i = 1; i < 20; ++i) {
System.out.printf("i[%,d], val[%,d] => error[%f%%]%n", i, 2 << i, 104 / Math.sqrt(2 << i));
}
This class is *not* multi-threaded. It can be passed among threads, but it is written with the assumption that
only one thread is ever calling methods on it.
If you have multiple threads calling methods on this concurrently, I hope you manage to get correct behaviorModifier and Type | Field and Description |
---|---|
static int |
BITS_FOR_BUCKETS |
static double |
CORRECTION_PARAMETER |
static int |
DENSE_THRESHOLD |
static double |
HIGH_CORRECTION_THRESHOLD |
static double |
LOW_CORRECTION_THRESHOLD |
static int |
NUM_BUCKETS |
static int |
NUM_BYTES_FOR_BUCKETS |
Constructor and Description |
---|
HyperLogLogCollector(ByteBuffer byteBuffer) |
public static final int DENSE_THRESHOLD
public static final int BITS_FOR_BUCKETS
public static final int NUM_BUCKETS
public static final int NUM_BYTES_FOR_BUCKETS
public static final double LOW_CORRECTION_THRESHOLD
public static final double HIGH_CORRECTION_THRESHOLD
public static final double CORRECTION_PARAMETER
public HyperLogLogCollector(ByteBuffer byteBuffer)
public static HyperLogLogCollector makeLatestCollector()
public static HyperLogLogCollector makeCollector(ByteBuffer buffer)
public static int getLatestNumBytesForDenseStorage()
public static byte[] makeEmptyVersionedByteArray()
public static double applyCorrection(double e, int zeroCount)
public abstract byte getVersion()
public abstract void setVersion(ByteBuffer buffer)
public abstract byte getRegisterOffset()
public abstract void setRegisterOffset(byte registerOffset)
public abstract void setRegisterOffset(ByteBuffer buffer, byte registerOffset)
public abstract short getNumNonZeroRegisters()
public abstract void setNumNonZeroRegisters(short numNonZeroRegisters)
public abstract void setNumNonZeroRegisters(ByteBuffer buffer, short numNonZeroRegisters)
public abstract byte getMaxOverflowValue()
public abstract void setMaxOverflowValue(byte value)
public abstract void setMaxOverflowValue(ByteBuffer buffer, byte value)
public abstract short getMaxOverflowRegister()
public abstract void setMaxOverflowRegister(short register)
public abstract void setMaxOverflowRegister(ByteBuffer buffer, short register)
public abstract int getNumHeaderBytes()
public abstract int getNumBytesForDenseStorage()
public abstract int getPayloadBytePosition()
public abstract int getPayloadBytePosition(ByteBuffer buffer)
protected int getInitPosition()
protected ByteBuffer getStorageBuffer()
public void add(byte[] hashedValue)
public void add(short bucket, byte positionOf1)
public HyperLogLogCollector fold(HyperLogLogCollector other)
public HyperLogLogCollector fold(ByteBuffer buffer)
public ByteBuffer toByteBuffer()
public byte[] toByteArray()
public double estimateCardinality()
public double estimateByteBuffer(ByteBuffer buf)
public int compareTo(HyperLogLogCollector other)
compareTo
in interface Comparable<HyperLogLogCollector>
Copyright © 2011–2015. All rights reserved.