org.apache.spark.sql.catalyst.expressions.aggregate
Bias corrections given a precision and the index of the raw estimate table.
Number of points used for interpolating the bias value.
Lookup table used to find the (index of the) bias correction for a given precision (exact) and estimate (nearest).
The number of registers which can be stored in one word.
The number of bits that is required per register.
The number of bits that is required per register.
This number is determined by the maximum number of leading binary zeros a hashcode can produce. This is equal to the number of bits the hashcode returns. The current implementation uses a 64-bit hashcode, this means 6-bits are (at most) needed to store the number of leading zeros.
Value used to mask a register stored in a word.
Thresholds which decide if the linear counting or the regular algorithm is used.
The size of a word used for storing registers: 64 Bits.
Constants used in the implementation of the HyperLogLogPlusPlus aggregate function.
See the Appendix to HyperLogLog in Practice: Algorithmic Engineering of a State of the Art Cardinality (https://docs.google.com/document/d/1gyjfMHy43U9OWBXxfaeG-3MjGzejW1dlpyMwEYAAWEI/view?fullscreen) for more information.